aboutsummaryrefslogtreecommitdiff
path: root/pw_unit_test/rpc_light_public/pw_unit_test/internal/rpc_event_handler.h
diff options
context:
space:
mode:
Diffstat (limited to 'pw_unit_test/rpc_light_public/pw_unit_test/internal/rpc_event_handler.h')
-rw-r--r--pw_unit_test/rpc_light_public/pw_unit_test/internal/rpc_event_handler.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/pw_unit_test/rpc_light_public/pw_unit_test/internal/rpc_event_handler.h b/pw_unit_test/rpc_light_public/pw_unit_test/internal/rpc_event_handler.h
new file mode 100644
index 000000000..fe067a6e9
--- /dev/null
+++ b/pw_unit_test/rpc_light_public/pw_unit_test/internal/rpc_event_handler.h
@@ -0,0 +1,51 @@
+// Copyright 2020 The Pigweed Authors
+//
+// Licensed under the Apache License, Version 2.0 (the "License"); you may not
+// use this file except in compliance with the License. You may obtain a copy of
+// the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+// License for the specific language governing permissions and limitations under
+// the License.
+#pragma once
+
+#include "gtest/gtest.h"
+#include "pw_span/span.h"
+
+namespace pw::unit_test {
+
+class UnitTestService;
+
+namespace internal {
+
+// Unit test event handler that streams test events through an RPC service.
+class RpcEventHandler : public EventHandler {
+ public:
+ RpcEventHandler(UnitTestService& service);
+ void ExecuteTests(span<std::string_view> suites_to_run);
+
+ void TestProgramStart(const ProgramSummary&) override {}
+ void EnvironmentsSetUpEnd() override {}
+ void TestSuiteStart(const TestSuite&) override {}
+ void TestSuiteEnd(const TestSuite&) override {}
+ void EnvironmentsTearDownEnd() override {}
+ void TestProgramEnd(const ProgramSummary&) override {}
+
+ void RunAllTestsStart() override;
+ void RunAllTestsEnd(const RunTestsSummary& run_tests_summary) override;
+ void TestCaseStart(const TestCase& test_case) override;
+ void TestCaseEnd(const TestCase& test_case, TestResult result) override;
+ void TestCaseExpect(const TestCase& test_case,
+ const TestExpectation& expectation) override;
+ void TestCaseDisabled(const TestCase& test_case) override;
+
+ private:
+ UnitTestService& service_;
+};
+
+} // namespace internal
+} // namespace pw::unit_test