Github User Fetcher 1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
parameterized.h File Reference
#include "test.h"
#include "../types.h"

Go to the source code of this file.

Data Structures

struct  criterion_test_params
 

Macros

#define CR_PARAM_TEST_PROTOTYPE_(Param, Category, Name)    void CR_IDENTIFIER_(Category, Name, impl)(Param)
 
#define CR_PARAM_TEST_BASE(Param, Category, Name, ...)
 
#define CR_PARAM_TEST_PARAMS(Category, Name)    static struct criterion_test_params CR_IDENTIFIER_(Category, Name, param)(void)
 
#define cr_make_param_array_(Type, Array, ...)    (struct criterion_test_params) { .size = sizeof (Type), (void *) (Array), __VA_ARGS__ }
 
#define ParameterizedTest(...)   CR_EXPAND(CR_PARAM_TEST_BASE(__VA_ARGS__, .sentinel_ = 0))
 
#define ParameterizedTestParameters(Suite, Name)   CR_PARAM_TEST_PARAMS(Suite, Name)
 
#define cr_make_param_array(...)   CR_EXPAND(cr_make_param_array_(__VA_ARGS__))
 

Macro Definition Documentation

◆ cr_make_param_array

#define cr_make_param_array ( ...)    CR_EXPAND(cr_make_param_array_(__VA_ARGS__))

Definition at line 123 of file internal/parameterized.h.

◆ cr_make_param_array_

#define cr_make_param_array_ ( Type,
Array,
... )    (struct criterion_test_params) { .size = sizeof (Type), (void *) (Array), __VA_ARGS__ }

Definition at line 112 of file internal/parameterized.h.

112# define cr_make_param_array_(Type, Array, ...) \
113 (struct criterion_test_params) { .size = sizeof (Type), (void *) (Array), __VA_ARGS__ }

◆ CR_PARAM_TEST_BASE

#define CR_PARAM_TEST_BASE ( Param,
Category,
Name,
... )
Value:
CR_PARAM_TEST_PROTOTYPE_(Param, Category, Name); \
CR_TEST_TRAMPOLINE_(Category, Name) \
struct criterion_test_extra_data CR_IDENTIFIER_(Category, Name, extra) = \
.compiler_ = CR_COMPILER_, \
.lang_ = CR_LANG, \
.param_ = CR_IDENTIFIER_(Category, Name, param), \
.identifier_ = #Category "/" #Name, \
.file_ = __FILE__, \
.line_ = __LINE__, \
__VA_ARGS__ \
)); \
struct criterion_test CR_IDENTIFIER_(Category, Name, meta) = { \
#Name, \
#Category, \
CR_IDENTIFIER_(Category, Name, jmp), \
&CR_IDENTIFIER_(Category, Name, extra) \
}; \
CR_SECTION_("cr_tst") \
struct criterion_test *CR_IDENTIFIER_(Category, Name, ptr) \
= &CR_IDENTIFIER_(Category, Name, meta) CR_SECTION_SUFFIX_; \
CR_PARAM_TEST_PROTOTYPE_(Param, Category, Name)
#define CRITERION_MAKE_STRUCT(Type,...)
#define CR_PARAM_TEST_PROTOTYPE_(Param, Category, Name)
#define CR_LANG
Definition test.h:52
#define CR_COMPILER_
Definition test.h:153
#define CR_IDENTIFIER_(Category, Name, Suffix)
Definition test.h:39
@ CR_TEST_PARAMETERIZED
Definition types.h:59

Definition at line 80 of file internal/parameterized.h.

80#define CR_PARAM_TEST_BASE(Param, Category, Name, ...) \
81 CR_PARAM_TEST_PROTOTYPE_(Param, Category, Name); \
82 CR_TEST_TRAMPOLINE_(Category, Name) \
83 struct criterion_test_extra_data CR_IDENTIFIER_(Category, Name, extra) = \
84 CR_EXPAND(CRITERION_MAKE_STRUCT(criterion_test_extra_data, \
85 .compiler_ = CR_COMPILER_, \
86 .lang_ = CR_LANG, \
87 .kind_ = CR_TEST_PARAMETERIZED, \
88 .param_ = CR_IDENTIFIER_(Category, Name, param), \
89 .identifier_ = #Category "/" #Name, \
90 .file_ = __FILE__, \
91 .line_ = __LINE__, \
92 __VA_ARGS__ \
93 )); \
94 struct criterion_test CR_IDENTIFIER_(Category, Name, meta) = { \
95 #Name, \
96 #Category, \
97 CR_IDENTIFIER_(Category, Name, jmp), \
98 &CR_IDENTIFIER_(Category, Name, extra) \
99 }; \
100 CR_SECTION_("cr_tst") \
101 struct criterion_test *CR_IDENTIFIER_(Category, Name, ptr) \
102 = &CR_IDENTIFIER_(Category, Name, meta) CR_SECTION_SUFFIX_; \
103 CR_PARAM_TEST_PROTOTYPE_(Param, Category, Name)

◆ CR_PARAM_TEST_PARAMS

#define CR_PARAM_TEST_PARAMS ( Category,
Name )    static struct criterion_test_params CR_IDENTIFIER_(Category, Name, param)(void)

Definition at line 105 of file internal/parameterized.h.

105#define CR_PARAM_TEST_PARAMS(Category, Name) \
106 static struct criterion_test_params CR_IDENTIFIER_(Category, Name, param)(void)

◆ CR_PARAM_TEST_PROTOTYPE_

#define CR_PARAM_TEST_PROTOTYPE_ ( Param,
Category,
Name )    void CR_IDENTIFIER_(Category, Name, impl)(Param)

Definition at line 76 of file internal/parameterized.h.

76# define CR_PARAM_TEST_PROTOTYPE_(Param, Category, Name) \
77 void CR_IDENTIFIER_(Category, Name, impl)(Param)

◆ ParameterizedTest

#define ParameterizedTest ( ...)    CR_EXPAND(CR_PARAM_TEST_BASE(__VA_ARGS__, .sentinel_ = 0))

Definition at line 117 of file internal/parameterized.h.

◆ ParameterizedTestParameters

#define ParameterizedTestParameters ( Suite,
Name )   CR_PARAM_TEST_PARAMS(Suite, Name)

Definition at line 120 of file internal/parameterized.h.