19#include "pw_unit_test/event_handler.h"
21namespace pw::unit_test {
27template <
size_t kNumHandlers>
31 typename... EventHandlers,
32 typename = std::enable_if_t<
sizeof...(EventHandlers) == kNumHandlers>>
34 : event_handlers_{&event_handlers...} {}
38 event_handler->TestProgramStart(program_summary);
43 event_handler->EnvironmentsSetUpEnd();
48 event_handler->TestSuiteStart(test_suite);
53 event_handler->TestSuiteEnd(test_suite);
58 event_handler->EnvironmentsTearDownEnd();
63 event_handler->TestProgramEnd(program_summary);
68 event_handler->RunAllTestsStart();
73 event_handler->RunAllTestsEnd(run_tests_summary);
78 event_handler->TestCaseStart(test_case);
83 event_handler->TestCaseEnd(test_case, result);
89 event_handler->TestCaseExpect(test_case, expectation);
94 event_handler->TestCaseDisabled(test_case);
99 static_assert(kNumHandlers > 0);
100 std::array<EventHandler*, kNumHandlers> event_handlers_;
Definition: event_handler.h:118
Definition: multi_event_handler.h:28
void TestCaseEnd(const TestCase &test_case, TestResult result) override
Definition: multi_event_handler.h:81
void TestSuiteStart(const TestSuite &test_suite) override
Called before the test suite starts.
Definition: multi_event_handler.h:46
void RunAllTestsStart() override
Called before all tests are run.
Definition: multi_event_handler.h:66
void RunAllTestsEnd(const RunTestsSummary &run_tests_summary) override
Called after all tests are run.
Definition: multi_event_handler.h:71
void TestCaseExpect(const TestCase &test_case, const TestExpectation &expectation) override
Definition: multi_event_handler.h:86
void TestProgramEnd(const ProgramSummary &program_summary) override
Called after all test activities have ended.
Definition: multi_event_handler.h:61
void EnvironmentsTearDownEnd() override
Called after environment teardown for each iteration of tests ends.
Definition: multi_event_handler.h:56
void TestSuiteEnd(const TestSuite &test_suite) override
Called after the test suite ends.
Definition: multi_event_handler.h:51
void EnvironmentsSetUpEnd() override
Called after environment setup for each iteration of tests ends.
Definition: multi_event_handler.h:41
void TestCaseStart(const TestCase &test_case) override
Called when a new test case is started.
Definition: multi_event_handler.h:76
void TestCaseDisabled(const TestCase &test_case) override
Called when a disabled test case is encountered.
Definition: multi_event_handler.h:92
void TestProgramStart(const ProgramSummary &program_summary) override
Called before any test activity starts.
Definition: multi_event_handler.h:36
TestResult
The result of a complete test run.
Definition: event_handler.h:23
Definition: event_handler.h:69
Definition: event_handler.h:55
Definition: event_handler.h:30
Definition: event_handler.h:41
Definition: event_handler.h:80