34 enum class phase : uint8_t
66 coro_ = test_.
setup( mem_ );
70 if ( !coro_.
done() ) {
76 status_ = status_cnv( coro_.
get_state() );
77 phas_ = phase::FINISHED;
80 coro_ = test_.
run( mem_ );
86 if ( !coro_.
done() ) {
90 status_ = status_cnv( coro_.
get_state() );
93 phas_ = phase::TEARDOWN;
96 if ( !coro_.
done() ) {
103 phas_ = phase::FINISHED;
105 case phase::FINISHED:
112 return phas_ == phase::FINISHED;
133 pmr::memory_resource& mem_;
134 test_interface& test_;
136 phase phas_{ phase::INIT };
Definition: memory_resource.h:33
void tick() override
Definition: coroutine.h:137
coro_state get_state() const override
Definition: coroutine.h:107
bool done() const
Definition: coroutine.h:100
Definition: executor.h:33
test_status status() const
Definition: executor.h:52
run_id get_run_id() const
Definition: executor.h:57
void tick()
Definition: executor.h:62
bool finished() const
Definition: executor.h:110
executor(run_id const rid, pmr::memory_resource &mem, test_interface &test)
Definition: executor.h:44
Definition: interface.h:38
virtual coroutine< void > run(pmr::memory_resource &)=0
virtual coroutine< void > setup(pmr::memory_resource &)
virtual coroutine< void > teardown(pmr::memory_resource &)
MIT License.
Definition: base.h:37
test_status
Definition: base.h:62
coro_state
Definition: coroutine.h:36
uint32_t run_id
Definition: base.h:53