The test-runner.cpp
File Reference
C++ source file with implementations for the µTest++ test runner methods. More...
Namespaces Index
Description
C++ source file with implementations for the µTest++ test runner methods.
This source file contains the core implementations for the test runner facilities of the µTest++ framework. It provides the logic for initialising the test environment, registering and managing test suites, handling command-line arguments, orchestrating test execution, and determining the overall test result. The implementation supports automated discovery and execution of test suites, flexible verbosity control, and robust mechanisms for aborting test execution in critical scenarios.
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 must be included when building the µTest++ library.
File Listing
The file content with the documentation metadata removed is:
41#if defined(MICRO_OS_PLUS_INCLUDE_CONFIG_H)
42#include <micro-os-plus/config.h>
52#pragma GCC diagnostic ignored "-Waggregate-return"
54#pragma clang diagnostic ignored "-Wc++98-compat"
55#pragma clang diagnostic ignored "-Wc++98-c++11-c++14-compat"
56#pragma clang diagnostic ignored "-Wunknown-warning-option"
74#if defined(MICRO_OS_PLUS_TRACE_MICRO_TEST_PLUS)
75 printf ("%s\n", __PRETTY_FUNCTION__);
79#pragma GCC diagnostic push
81#pragma clang diagnostic ignored "-Wunsafe-buffer-usage"
98#if defined(MICRO_OS_PLUS_TRACE_MICRO_TEST_PLUS)
99 printf ("%s\n", __PRETTY_FUNCTION__);
107#if !(defined(MICRO_OS_PLUS_INCLUDE_STARTUP) && defined(MICRO_OS_PLUS_TRACE))
108#if defined(MICRO_OS_PLUS_DEBUG)
110 for (int i = 0; i < argc; ++i)
116 printf ("'%s'", argv[i]);
123 for (int i = 0; i < argc; ++i)
125 if (strcmp (argv[i], "--verbose") == 0)
129 else if (strcmp (argv[i], "--quiet") == 0)
133 else if (strcmp (argv[i], "--silent") == 0)
144#if !(defined(MICRO_OS_PLUS_INCLUDE_STARTUP) && defined(MICRO_OS_PLUS_TRACE))
147#if defined(__clang__)
148 printf ("Built with clang " __VERSION__);
149#elif defined(__GNUC__)
150 printf ("Built with GCC " __VERSION__);
151#elif defined(_MSC_VER)
153 printf ("Built with MSVC %d", _MSC_VER);
155 printf ("Built with an unknown compiler");
157#if !(defined(__APPLE__) || defined(__linux__) || defined(__unix__) \
160#if defined(__ARM_PCS_VFP) || defined(__ARM_FP)
161 printf (", with FP");
166#if defined(__EXCEPTIONS)
167 printf (", with exceptions");
169 printf (", no exceptions");
171#if defined(MICRO_OS_PLUS_DEBUG)
172 printf (", with MICRO_OS_PLUS_DEBUG");
187#pragma GCC diagnostic pop
192 bool was_successful = true;
206 suite->begin_test_suite ();
208 suite->end_test_suite ();
210 was_successful &= suite->was_successful ();
217 return was_successful ? 0 : 1;
235 printf ("%s\n", __PRETTY_FUNCTION__);
240 suites_ = new std::vector<test_suite_base*> ();
Generated via doxygen2docusaurus by Doxygen 1.14.0.