diff options
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.h | 51 |
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 |