aboutsummaryrefslogtreecommitdiff
path: root/pw_unit_test/googletest_handler_adapter.cc
diff options
context:
space:
mode:
Diffstat (limited to 'pw_unit_test/googletest_handler_adapter.cc')
-rw-r--r--pw_unit_test/googletest_handler_adapter.cc16
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(