diff options
Diffstat (limited to 'pw_unit_test/googletest_handler_adapter.cc')
-rw-r--r-- | pw_unit_test/googletest_handler_adapter.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/pw_unit_test/googletest_handler_adapter.cc b/pw_unit_test/googletest_handler_adapter.cc index 9d29d1858..a48c9c667 100644 --- a/pw_unit_test/googletest_handler_adapter.cc +++ b/pw_unit_test/googletest_handler_adapter.cc @@ -18,6 +18,22 @@ namespace pw::unit_test { +void RegisterEventHandler(EventHandler* event_handler) { + static testing::TestEventListener* gTestListener = nullptr; + auto& listeners = testing::UnitTest::GetInstance()->listeners(); + if (!gTestListener) { + gTestListener = listeners.default_result_printer(); + } + if (gTestListener) { + listeners.Release(gTestListener); + delete gTestListener; + } + if (event_handler) { + gTestListener = new pw::unit_test::GoogleTestHandlerAdapter(*event_handler); + listeners.Append(gTestListener); + } +} + void GoogleTestHandlerAdapter::OnTestProgramStart( const testing::UnitTest& unit_test) { handler_.TestProgramStart( |