micro-test-plus 5.0.1
µTest++ Testing Framework
Loading...
Searching...
No Matches
micro-test-plus.h
Go to the documentation of this file.
1/*
2 * This file is part of the µOS++ project (https://micro-os-plus.github.io/).
3 * Copyright (c) 2021-2026 Liviu Ionescu. All rights reserved.
4 *
5 * Permission to use, copy, modify, and/or distribute this software for any
6 * purpose is hereby granted, under the terms of the MIT license.
7 *
8 * If a copy of the license was not distributed with this file, it can be
9 * obtained from https://opensource.org/licenses/mit.
10 *
11 * Major parts of the code are inspired from v1.1.8 of the Boost UT project,
12 * released under the terms of the Boost Version 1.0 Software License,
13 * which can be obtained from https://www.boost.org/LICENSE_1_0.txt.
14 */
15
16// ----------------------------------------------------------------------------
17
52
53#ifndef MICRO_OS_PLUS_MICRO_TEST_PLUS_H_
54#define MICRO_OS_PLUS_MICRO_TEST_PLUS_H_
55
56// ----------------------------------------------------------------------------
57
58#if defined(__cplusplus)
59
60// ----------------------------------------------------------------------------
61
62#if defined(__cplusplus)
63#if !(__cplusplus >= 202002L || (defined(_MSVC_LANG) && _MSVC_LANG >= 202002L))
64#error "C++20 or higher is required"
65#endif // !(__cplusplus >= 202002L || (defined(_MSVC_LANG) && _MSVC_LANG >= 202002L))
66#endif // defined(__cplusplus)
67
68#if __has_include("micro-os-plus/project-config.h")
69#include "micro-os-plus/project-config.h"
70#endif // __has_include("micro-os-plus/project-config.h")
71
72#if __has_include("micro-os-plus/micro-test-plus-defines.h")
73#include "micro-os-plus/micro-test-plus-defines.h"
74#endif // __has_include("micro-os-plus/micro-test-plus-defines.h")
75
76// ----------------------------------------------------------------------------
77
78#if defined(__DOXYGEN__)
79// Present here solely for Doxygen, to document the macros.
80#define MICRO_OS_PLUS_MICRO_TEST_PLUS_ENABLED
81#define MICRO_OS_PLUS_MICRO_TEST_PLUS_TRACE_ENABLED
82#define MICRO_OS_PLUS_MICRO_TEST_PLUS_TRACE_CONSTRUCTORS_ENABLED
83#endif // defined(__DOXYGEN__)
84
85// ----------------------------------------------------------------------------
86
87#if defined(MICRO_OS_PLUS_MICRO_TEST_PLUS_ENABLED)
88
89// ----------------------------------------------------------------------------
90
91// No deps.
93
94// Requires math.h.
96
97// No deps.
99
100// Requires type-traits.h, reflection.h.
102
103// Requires type-traits.h, math.h.
105
106// No deps.
108
109// No deps.
111
112// Requires type-traits.h + detail.h,
114
115// Requires type-traits.h, detail.h + reflection.h.
117
118// Requires type-traits.h, detail.h, expression-formatter.h, reflection.h.
120
121// Requires type-traits.h, reflection.h, expression-formatter.h.
123
124// No deps.
126
127// Requires reporter.h, reflection.h.
129
130// Requires reporter.h, reflection.h.
132
133// No deps.
135
136// Requires reporter.h, runner-totals.h, reflection.h, type-traits.h and
137// timings.h + deferred-reporter.h, reporter.h.
138#include "micro-test-plus/test.h"
139
140// Requires timings.h, test.h (detail::test_node, top_suite), reflection.h.
142
143// ----------------------------------------------------------------------------
144
145#endif // defined(MICRO_OS_PLUS_MICRO_TEST_PLUS_ENABLED)
146
147// ----------------------------------------------------------------------------
148
149#endif // defined(__cplusplus)
150
151// ----------------------------------------------------------------------------
152
153#endif // MICRO_OS_PLUS_MICRO_TEST_PLUS_H_
154
155// ----------------------------------------------------------------------------
C++ header file with declarations for the µTest++ deferred reporter.
C++ header file with declarations for the µTest++ internals.
C++ header with declarations for the µTest++ exception-checking functions.
C++ header file with declarations for the µTest++ expression formatter.
C++ header file with declarations for the µTest++ function comparators.
C++ header file with declarations for the µTest++ user-defined literals and type wrappers.
C++ header file with declarations for the µTest++ mathematical utilities.
C++ header file with declarations for the µTest++ operators.
C++ header file with declarations for the µTest++ reflection utilities.
C++ header file with declarations for the µTest++ human test reporter.
C++ header file with declarations for the µTest++ TAP test reporter.
C++ header file with declarations for the µTest++ test reporter.
C++ header file with declarations for the µTest++ runner totals.
C++ header file with declarations for the µTest++ test runner.
C++ header file with declarations for the µTest++ test suite.
C++ header file with declarations for the µTest++ type trait utilities and metaprogramming support.
C++ header file with declarations for the µTest++ utility helpers.