TestGroup.h File Reference
#include "TestBase.h"
#include <Platform/Timers.h>
#include <Services/Profiling/MinMaxTimes.h>
#include <csetjmp>
Include dependency graph for TestGroup.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  TestGroup
 Class to simplify generation of begin/end messages for a test group. More...
 

Macros

#define startTest(s)   startItem(_F(s))
 
#define TEST_CASE_1_ARG(name)   startItem(_F(name));
 Start a test item. More...
 
#define TEST_CASE_2_ARGS(name, desc)   startItem(_F(name), _F(desc));
 
#define GET_3RD_ARG(arg1, arg2, arg3, ...)   arg3
 
#define TEST_CASE_ARG_CHOOSER(...)   GET_3RD_ARG(__VA_ARGS__, TEST_CASE_2_ARGS, TEST_CASE_1_ARG, )
 
#define TEST_CASE(...)   TEST_CASE_ARG_CHOOSER(__VA_ARGS__)(__VA_ARGS__)
 

Macro Definition Documentation

◆ GET_3RD_ARG

#define GET_3RD_ARG (   arg1,
  arg2,
  arg3,
  ... 
)    arg3

◆ startTest

#define startTest (   s)    startItem(_F(s))

◆ TEST_CASE

#define TEST_CASE (   ...)    TEST_CASE_ARG_CHOOSER(__VA_ARGS__)(__VA_ARGS__)

◆ TEST_CASE_1_ARG

#define TEST_CASE_1_ARG (   name)    startItem(_F(name));

Start a test item.

Use like this:

TEST_CASE("My Test", "description") {
...
}
#define TEST_CASE(...)
Definition: TestGroup.h:131

Note: Description is optional.

◆ TEST_CASE_2_ARGS

#define TEST_CASE_2_ARGS (   name,
  desc 
)    startItem(_F(name), _F(desc));

◆ TEST_CASE_ARG_CHOOSER

#define TEST_CASE_ARG_CHOOSER (   ...)    GET_3RD_ARG(__VA_ARGS__, TEST_CASE_2_ARGS, TEST_CASE_1_ARG, )