From 17da3b5d82f4742a01cb1b88baa4c4701f39ed9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Thu, 9 Apr 2020 12:14:51 +0200 Subject: 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. --- tests/gtests/usd/abstract_hierarchy_iterator_test.cc | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'tests/gtests') 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 -- cgit v1.2.3