ase/testing.hh file


Namespaces

namespace Ase
The Anklang C++ API namespace.
namespace Ase::Test
Helper namespace for unit testing.

Classes

class Ase::Test::Timer

Functions

auto random_float() →  double
Return random double for reproduceble tests.
auto random_frange(double begin, double end) →  double
Return random double within range for reproduceble tests.
auto random_int64() →  uint64_t
Return random int for reproduceble tests.
auto random_irange(int64_t begin, int64_t end) →  int64_t
Return random int within range for reproduceble tests.
auto run(void) →  int
Run all registered tests.
auto run(const StringS& test_names) →  int
Run named tests.
auto slow() →  bool
Indicates whether slow tests should be run.
auto stringify_arg(const char* a, const char* str_a) →  String
== Stringify Args ==
auto verbose() →  bool
Indicates whether tests should run verbosely.

Defines

#define TASSERT(cond)
Unconditional test assertion, enters breakpoint if not fullfilled.
#define TASSERT_AT(LINE, cond)
Unconditional test assertion for deputy LINE.
#define TBENCH(...)
Print a message about a passing benchmark.
#define TCHECK(cond, ...)
Verbose assertion, calls TPASS() on success./*#end#*‍/.
#define TCMP(a, cmp, b)
Compare a and b according to operator cmp, verbose on failiure.
#define TCMPS(a, cmp, b)
Variant of TCMP() for C strings.
#define TDONE()
Print message for test case end.
#define TEST_ADD(fun)
Register a function to run as part of the unit test suite.
#define TFLOATS(a, b, eps)
Test floats for equality while ignoring differences smaller than eps.
#define TNOTE(...)
Print a message from a test program.
#define TOK()
#define TPASS(...)
Print a message about a passing test.
#define TSTART(...)
Print message once a test case starts.

Define documentation

#define TOK()

Deprecated progress indicator, tests generally need to run fast.