Skip to main content

runner-totals.h File

C++ header file with declarations for the µTest++ runner totals. More...

Included Headers

#include <cstddef> #include "inlines/runner-totals-inlines.h"

Namespaces Index

namespacemicro_os_plus

The primary namespace for the µOS++ framework. More...

namespacemicro_test_plus

Primary namespace for the µTest++ testing framework. More...

namespacedetail

Internal implementation details for the µTest++ framework. More...

Classes Index

classrunner_totals

Aggregated pass/fail/subtest counters for a node in the test tree. More...

Description

C++ header file with declarations for the µTest++ runner totals.

This header provides the runner_totals class, which aggregates the counts of successful checks, failed checks, and executed subtests for a test runner, test suite, or subtest. Instances of this class are embedded inside every test_node-derived object and updated in place as the test session progresses.

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.

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

File Listing

The file content with the documentation metadata removed is:

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 Software License,
13 * which can be obtained from https://www.boost.org/LICENSE_1_0.txt.
14 */
15
16// ----------------------------------------------------------------------------
17
36
37#ifndef MICRO_OS_PLUS_MICRO_TEST_PLUS_TEST_RUNNER_TOTALS_H_
38#define MICRO_OS_PLUS_MICRO_TEST_PLUS_TEST_RUNNER_TOTALS_H_
39
40// ----------------------------------------------------------------------------
41
42#if defined(__cplusplus)
43
44// ----------------------------------------------------------------------------
45
46#if __has_include("micro-os-plus/project-config.h")
47#include "micro-os-plus/project-config.h"
48#endif // __has_include("micro-os-plus/project-config.h")
49
50#if __has_include("micro-os-plus/micro-test-plus-defines.h")
51#include "micro-os-plus/micro-test-plus-defines.h"
52#endif // __has_include("micro-os-plus/micro-test-plus-defines.h")
53
54#include <cstddef>
55
56// ----------------------------------------------------------------------------
57
58#if defined(__GNUC__)
59#pragma GCC diagnostic push
60
61#if defined(__clang__)
62#pragma clang diagnostic ignored "-Wc++98-compat"
63#endif // defined(__clang__)
64#endif // defined(__GNUC__)
65
66// ============================================================================
67
69{
70 // --------------------------------------------------------------------------
71
72 namespace detail
73 {
74 // ========================================================================
75
98 {
99 public:
103 runner_totals () = default;
104
108 runner_totals (const runner_totals&) = delete;
109
114
120 = delete;
121
127 = delete;
128
136 operator+=(const runner_totals& other) noexcept;
137
145 void
146 increment_successful_checks (size_t count = 1) noexcept;
147
155 void
156 increment_failed_checks (size_t count = 1) noexcept;
157
165 void
166 increment_executed_subtests (size_t count = 1) noexcept;
167
175 [[nodiscard]] size_t
176 successful_checks () const noexcept;
177
185 [[nodiscard]] size_t
186 failed_checks () const noexcept;
187
195 [[nodiscard]] size_t
196 executed_checks () const noexcept;
197
205 [[nodiscard]] size_t
206 executed_subtests () const noexcept;
207
216 [[nodiscard]] bool
217 was_successful (void) const noexcept;
218
219 protected:
224
228 size_t failed_checks_ = 0;
229
234 };
235
236 // ------------------------------------------------------------------------
237 } // namespace detail
238
239 // --------------------------------------------------------------------------
240} // namespace micro_os_plus::micro_test_plus
241
242#if defined(__GNUC__)
243#pragma GCC diagnostic pop
244#endif // defined(__GNUC__)
245
246// ----------------------------------------------------------------------------
247
248#endif // defined(__cplusplus)
249
250// ============================================================================
251// Templates, inlines & constexpr implementations.
252
254
255// ----------------------------------------------------------------------------
256
257#endif // MICRO_OS_PLUS_MICRO_TEST_PLUS_TEST_RUNNER_TOTALS_H_
258
259// ----------------------------------------------------------------------------

Generated via doxygen2docusaurus 2.2.2 by Doxygen 1.17.0.