Sen API
Sen Libraries
Loading...
Searching...
No Matches
runtime_2/src/runtime.h
Go to the documentation of this file.
1// === runtime.h =======================================================================================================
2// Sen Infrastructure
3// Released under the Apache License v2.0 (SPDX-License-Identifier Apache-2.0).
4// See the LICENSE.txt file for more information.
5// © Airbus SAS, Airbus Helicopters, and Airbus Defence and Space SAU/GmbH/SAS.
6// =====================================================================================================================
7
8#ifndef SEN_LIBS_KERNEL_TEST_INTEGRATION_RUNTIME_COMPATIBILITY_RUNTIME_2_SRC_RUNTIME_H
9#define SEN_LIBS_KERNEL_TEST_INTEGRATION_RUNTIME_COMPATIBILITY_RUNTIME_2_SRC_RUNTIME_H
10
11// test_helpers
13#include "stl/runtime/runtime.stl.h"
14#include "stl/sen/kernel/kernel_objects.stl.h"
15#include "test_helpers/tester.stl.h"
16
17// std
18#include <bitset>
19
20namespace sen::test::runtime
21{
22
23class TestClassImpl final: public TestClassBase
24{
25public:
26 SEN_NOCOPY_NOMOVE(TestClassImpl)
27
28public:
29 using TestClassBase::TestClassBase;
30 ~TestClassImpl() override = default;
31
32protected: // TestClassBase
33 std::string testMethodImpl(const std::string& arg2, f64 arg1) override;
34 void emitEventsImpl() override;
35};
36
37class TesterImpl final: public TesterBase
38{
39public:
40 SEN_NOCOPY_NOMOVE(TesterImpl)
41
42public:
43 using TesterBase::TesterBase;
44 ~TesterImpl() override = default;
45
46public: // NativeObject
49
50protected: // TesterBase
51 void doTestsImpl(std::promise<TestResult>&& promise) override;
52 void checkLocalStateImpl(std::promise<TestResult>&& promise) override;
53 void shutdownKernelImpl() override;
54
55private:
56 void checkRemote(u32 flagToSet);
57
58private:
59 std::shared_ptr<TestClassImpl> localObj_;
60 std::shared_ptr<sen::Subscription<TestClassInterface>> remoteObjSub_;
61 TestClassInterface* remoteObj_ = nullptr;
62 std::promise<TestResult> promise_;
63 std::bitset<15> localFlags_;
64 std::bitset<17> remoteFlags_;
65 bool testMethodPassed_ = false;
66 bool extraMethodPassed_ = false;
67 bool testEventPassed_ = false;
68 std::shared_ptr<sen::Subscription<sen::kernel::KernelApiInterface>> kernelApiSub_;
69 sen::kernel::KernelApiInterface* kernelApiObj_ = nullptr;
70};
71
72} // namespace sen::test::runtime
73
74#endif // SEN_LIBS_KERNEL_TEST_INTEGRATION_RUNTIME_COMPATIBILITY_RUNTIME_2_SRC_RUNTIME_H
API for objects when registered.
Definition component_api.h:170
Definition runtime_1/src/runtime.h:25
~TestClassImpl() override=default
std::string testMethodImpl(const std::string &arg2, f64 arg1) override
Definition runtime_1/src/runtime.h:40
void unregistered(sen::kernel::RegistrationApi &api) override
void shutdownKernelImpl() override
void doTestsImpl(std::promise< TestResult > &&promise) override
void checkLocalStateImpl(std::promise< TestResult > &&promise) override
void registered(sen::kernel::RegistrationApi &api) override
~TesterImpl() override=default
uint32_t u32
Definition numbers.h:25
float64_t f64
Definition numbers.h:29
Definition runtime_1/src/runtime.h:22