Class OrderedShell

Inheritance Relationships

Base Type

Class Documentation

class OrderedShell : public mu::tiny::test::Shell
[source]

Shell subclass that participates in ordered test execution.

Maintains a separate singly-linked list of ordered tests sorted by level. The test runner walks this list after processing all unordered tests. Users interact with this class only through the TEST_ORDERED macro.

Public Functions

OrderedShell() noexcept = default
[source]
~OrderedShell() override = default
[source]
virtual OrderedShell *add_ordered_test(OrderedShell *test)

Insert test into this shell’s ordered-test list.

Parameters:

testShell to append.

Returns:

test.

virtual OrderedShell *get_next_ordered_test()
[source]
Returns:

The next shell in the ordered list, or nullptr at the end.

virtual bool is_ordered() const override
Returns:

true — ordered tests report themselves as ordered.

int get_level() const
Returns:

This shell’s execution level.

void set_level(int level)

Set this shell’s execution level.

Parameters:

level – Numeric level; lower values run first.

Public Static Functions

static void add_ordered_test_to_head(OrderedShell *test)

Prepend test to the global ordered-test list.

Called by OrderedInstaller during static initialisation.

Parameters:

testShell to add.

static OrderedShell *get_ordered_test_head()
[source]
Returns:

The head of the global ordered-test linked list.

static bool first_ordered_test()
[source]
Returns:

true if no ordered tests have been registered yet.

static void set_ordered_test_head(OrderedShell *test)

Replace the head of the global ordered-test list.

Parameters:

test – New head (may be nullptr to clear the list).