Fixed header warnings and removed dynamically-embeded data in parameterized sample
This commit is contained in:
parent
d66df33a5c
commit
d4472a1fdc
3 changed files with 9 additions and 21 deletions
|
@ -42,7 +42,7 @@
|
|||
criterion_test_params(sizeof (Type), (Array), __VA_ARGS__)
|
||||
# else
|
||||
# define cr_make_param_array(Type, Array, ...) \
|
||||
(struct criterion_test_params) { sizeof (Type), (void*)(Array), __VA_ARGS__ }
|
||||
(struct criterion_test_params) { .size = sizeof (Type), (void*)(Array), __VA_ARGS__ }
|
||||
# endif
|
||||
|
||||
#endif /* !CRITERION_PARAMETERIZED_H_ */
|
||||
|
|
|
@ -49,6 +49,7 @@ struct criterion_test_params {
|
|||
: size(size)
|
||||
, params(params)
|
||||
, length(length)
|
||||
, cleanup(nullptr)
|
||||
{}
|
||||
|
||||
constexpr criterion_test_params(size_t size, void *params, size_t length,
|
||||
|
|
|
@ -42,33 +42,20 @@ ParameterizedTest(struct parameter_tuple *tup, params, multiple) {
|
|||
// or this will fail on windows
|
||||
|
||||
void free_params(struct criterion_test_params *crp) {
|
||||
struct parameter_tuple_dyn *tuples = crp->params;
|
||||
for (size_t i = 0; i < crp->length; ++i) {
|
||||
struct parameter_tuple_dyn *tup = &tuples[i];
|
||||
free(tup->d);
|
||||
}
|
||||
free(crp->params);
|
||||
}
|
||||
|
||||
double *gen_double(double d) {
|
||||
double *ptr = malloc(sizeof(double));
|
||||
printf("%p\n", ptr);
|
||||
fflush(NULL);
|
||||
*ptr = d;
|
||||
return ptr;
|
||||
}
|
||||
|
||||
ParameterizedTestParameters(params, cleanup) {
|
||||
const size_t nb_tuples = 3;
|
||||
|
||||
struct parameter_tuple_dyn *params = malloc(sizeof(struct parameter_tuple_dyn) * nb_tuples);
|
||||
params[0] = (struct parameter_tuple_dyn) { 1, gen_double(2) };
|
||||
params[1] = (struct parameter_tuple_dyn) { 3, gen_double(4) };
|
||||
params[2] = (struct parameter_tuple_dyn) { 5, gen_double(6) };
|
||||
struct parameter_tuple *params = malloc(sizeof(struct parameter_tuple) * nb_tuples);
|
||||
params[0] = (struct parameter_tuple) { 1, 2 };
|
||||
params[1] = (struct parameter_tuple) { 3, 4 };
|
||||
params[2] = (struct parameter_tuple) { 5, 6 };
|
||||
|
||||
return cr_make_param_array(struct parameter_tuple_dyn, params, nb_tuples, free_params);
|
||||
return cr_make_param_array(struct parameter_tuple, params, nb_tuples, free_params);
|
||||
}
|
||||
|
||||
ParameterizedTest(struct parameter_tuple_dyn *tup, params, cleanup) {
|
||||
cr_assert_fail("Parameters: (%d, %p)", tup->i, tup->d);
|
||||
ParameterizedTest(struct parameter_tuple *tup, params, cleanup) {
|
||||
cr_assert_fail("Parameters: (%d, %f)", tup->i, tup->d);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue