[Bf-blender-cvs] [17da3b5d82f] master: USD: ensure test does not depend on BLI_assert()

Sybren A. Stüvel noreply at git.blender.org
Thu Apr 9 12:22:47 CEST 2020


Commit: 17da3b5d82f4742a01cb1b88baa4c4701f39ed9a
Author: Sybren A. Stüvel
Date:   Thu Apr 9 12:14:51 2020 +0200
Branches: master
https://developer.blender.org/rB17da3b5d82f4742a01cb1b88baa4c4701f39ed9a

USD: ensure test does not depend on BLI_assert()

The test failure in T75491 only showed up in debug builds because
`BLI_assert()` is a no-op in release builds. This is now replaced by a
proper GTests call to `ADD_FAILURE()`, ensuring that the test fails
regardless of build mode.

===================================================================

M	tests/gtests/usd/abstract_hierarchy_iterator_test.cc

===================================================================

diff --git a/tests/gtests/usd/abstract_hierarchy_iterator_test.cc b/tests/gtests/usd/abstract_hierarchy_iterator_test.cc
index e87ef547052..56d8100c30a 100644
--- a/tests/gtests/usd/abstract_hierarchy_iterator_test.cc
+++ b/tests/gtests/usd/abstract_hierarchy_iterator_test.cc
@@ -36,9 +36,11 @@ using namespace USD;
 
 class TestHierarchyWriter : public AbstractHierarchyWriter {
  public:
+  std::string writer_type;
   created_writers &writers_map;
 
-  TestHierarchyWriter(created_writers &writers_map) : writers_map(writers_map)
+  TestHierarchyWriter(const std::string &writer_type, created_writers &writers_map)
+      : writer_type(writer_type), writers_map(writers_map)
   {
   }
 
@@ -47,7 +49,10 @@ class TestHierarchyWriter : public AbstractHierarchyWriter {
     const char *id_name = context.object->id.name;
     created_writers::mapped_type &writers = writers_map[id_name];
 
-    BLI_assert(writers.find(context.export_path) == writers.end());
+    if (writers.find(context.export_path) != writers.end()) {
+      ADD_FAILURE() << "Unexpectedly found another " << writer_type << " writer for " << id_name
+                    << " to export to " << context.export_path;
+    }
     writers.insert(context.export_path);
   }
 };
@@ -81,19 +86,19 @@ class TestingHierarchyIterator : public AbstractHierarchyIterator {
  protected:
   AbstractHierarchyWriter *create_transform_writer(const HierarchyContext *context) override
   {
-    return new TestHierarchyWriter(transform_writers);
+    return new TestHierarchyWriter("transform", transform_writers);
   }
   AbstractHierarchyWriter *create_data_writer(const HierarchyContext *context) override
   {
-    return new TestHierarchyWriter(data_writers);
+    return new TestHierarchyWriter("data", data_writers);
   }
   AbstractHierarchyWriter *create_hair_writer(const HierarchyContext *context) override
   {
-    return new TestHierarchyWriter(hair_writers);
+    return new TestHierarchyWriter("hair", hair_writers);
   }
   AbstractHierarchyWriter *create_particle_writer(const HierarchyContext *context) override
   {
-    return new TestHierarchyWriter(particle_writers);
+    return new TestHierarchyWriter("particle", particle_writers);
   }
 
   void delete_object_writer(AbstractHierarchyWriter *writer) override



More information about the Bf-blender-cvs mailing list