micro-test-plus 4.1.0
µTest++ Testing Framework
Loading...
Searching...
No Matches
test.h File Reference

C++ header file with declarations for the µTest++ test suite. More...

#include <functional>
#include <memory>
#include "runner-totals.h"
#include "type-traits.h"
#include "timings.h"
#include "reflection.h"
#include "inlines/test-inlines.h"

Go to the source code of this file.

Classes

class  micro_os_plus::micro_test_plus::detail::runnable< Self_T >
 CRTP base class factoring out callable storage, rule-of-five, and run() logic shared by subtest and suite. More...
class  micro_os_plus::micro_test_plus::detail::runnable_base
 Non-template base for all runnable objects (suites and subtests). More...
class  micro_os_plus::micro_test_plus::static_suite
 A test suite designed for static (namespace-scope) registration with a static_runner. More...
class  micro_os_plus::micro_test_plus::subtest
 A named, runnable test case that lives inside a suite. More...
class  micro_os_plus::micro_test_plus::suite
 A named, runnable test suite registered with the test runner. More...
class  micro_os_plus::micro_test_plus::detail::test_node
 Base class for runners and runable tests. More...
class  micro_os_plus::micro_test_plus::top_suite
 The implicit top-level suite owned by every runner instance. More...

Namespaces

namespace  micro_os_plus
 The primary namespace for the µOS++ framework.
namespace  micro_os_plus::micro_test_plus
 Primary namespace for the µTest++ testing framework.
namespace  micro_os_plus::micro_test_plus::detail
 Internal implementation details for the µTest++ framework.

Functions

void micro_os_plus::micro_test_plus::detail::register_static_suite (static_runner &static_runner_ref, static_suite &static_suite_ref)
 Registers a static suite with a static runner.
runnermicro_os_plus::micro_test_plus::detail::to_runner (static_runner &static_runner_ref) noexcept
 Converts a static_runner reference to a runner reference.

Detailed Description

This header provides the declarations for the test suite facilities used within the µTest++ framework. It defines the interfaces for constructing, registering, and managing test suites and their associated test cases. The core classes, test_node and suite, offer mechanisms for tracking test case execution, managing counters for successful and failed checks, and supporting automated registration and discovery of test suites.

The design ensures that test suites are non-copyable and non-movable, maintaining unique ownership and consistent state. Flexible support for callable objects enables a wide range of test suite definitions, facilitating expressive and maintainable test organisation across embedded and general C++ projects.

All definitions reside within the micro_os_plus::micro_test_plus namespace, ensuring clear separation from user code and minimising the risk of naming conflicts.

The header files are organised within the include/micro-os-plus/micro-test-plus folder to maintain a structured and modular codebase.

This file is intended solely for internal use within the framework and should not be included directly by user code.

Definition in file test.h.