3#if defined (HART_IMPLEMENTATION)
4#define DR_WAV_IMPLEMENTATION
11#include "dsp/hart_dsp_all.hpp"
13#include "envelopes/hart_envelopes_all.hpp"
16#include "matchers/hart_matchers_all.hpp"
17#include "metrics/hart_metrics_all.hpp"
21#include "signals/hart_signals_all.hpp"
34#define HART_FAIL_TEST_MSG(message) throw hart::TestAssertException (std::string ("HART_FAIL_TEST_MSG() triggered test fail at line ") + std::to_string (__LINE__) + " with message: \"" + message + '\"')
38#define HART_FAIL_TEST() throw hart::TestAssertException (std::string ("HART_FAIL_TEST() triggered test fail at line ") + std::to_string (__LINE__))
40#define HART_CONCAT_IMPL(x, y) x##y
44#define HART_ITEM_WITH_TAGS(name, tags, category)
49 hart::TestRegistry::getInstance().add (name, tags, __FILE__, __LINE__, category, &HART_UNIQUE_ID (HART_RunTask));
69#define HART_GENERATE_WITH_TAGS(name, tags) HART_ITEM_WITH_TAGS(name, tags, hart::TaskCategory::generate)
82#if HART_DO_NOT_THROW_EXCEPTIONS
86#define HART_REQUIRES_DATA_PATH_ARG if (hart::CLIConfig::getInstance().getDataRootPath().empty()) { hart::ExpectationFailureMessages::get().emplace_back ("This test requires a data path set by the --data-root-path CLI argument, but it's empty"); return; }
91#define HART_REQUIRES_DATA_PATH_ARG if (hart::CLIConfig::getInstance().getDataRootPath().empty()) { throw hart::ConfigurationError ("This test requires a data path set by the --data-root-path CLI argument, but it's empty"); }
97#define HART_RUN_ALL_TESTS(argc, argv)
100 hart::CLIConfig::getInstance().initCommandLineArgs();
101 CLI11_PARSE
(hart::CLIConfig::getInstance().getCLIApp(), argc, argv);
102 return hart::TestRegistry::getInstance().runAll();
107#define HART_DECLARE_ALIASES_FOR_FLOAT using namespace hart::aliases_float
110#define HART_DECLARE_ALIASES_FOR_DOUBLE using namespace hart::aliases_double
#define HART_GENERATE_WITH_TAGS(name, tags)
Declares a generator with tags.
#define HART_TEST_WITH_TAGS(name, tags)
Declares a test case with tags.
#define HART_CONCAT(x, y)
#define HART_UNIQUE_ID(x)
#define HART_CONCAT_IMPL(x, y)
#define HART_ITEM_WITH_TAGS(name, tags, category)