use _Bool instead of int for boolean variables
This commit is contained in:
parent
e15b1af7e0
commit
9d3f572667
18
xtest.c
18
xtest.c
|
@ -119,7 +119,7 @@ void xtest_internal_run(xtest_test_fn fn, const char *name, xtest_param *params,
|
||||||
}
|
}
|
||||||
expecting_assertion = 0;
|
expecting_assertion = 0;
|
||||||
fn(fixture, current_vals);
|
fn(fixture, current_vals);
|
||||||
int carry = 1;
|
_Bool carry = 1;
|
||||||
for (int i = num_params - 1; i >= 0; --i) {
|
for (int i = num_params - 1; i >= 0; --i) {
|
||||||
validx[i] += 1;
|
validx[i] += 1;
|
||||||
if (validx[i] >= valmax[i]) {
|
if (validx[i] >= valmax[i]) {
|
||||||
|
@ -129,7 +129,7 @@ void xtest_internal_run(xtest_test_fn fn, const char *name, xtest_param *params,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (carry == 1) break;
|
if (carry) break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -211,7 +211,7 @@ void xtest_internal_assert(const char *file, int line, const char *func, const c
|
||||||
expression, invert ? "not " : "", CAST_PTR(type, expected), CAST_PTR(type, actual), file, line)
|
expression, invert ? "not " : "", CAST_PTR(type, expected), CAST_PTR(type, actual), file, line)
|
||||||
|
|
||||||
void xtest_fail_assert(const char *expression, const char *file, int line, void *expected,
|
void xtest_fail_assert(const char *expression, const char *file, int line, void *expected,
|
||||||
void *actual, int invert, enum xtest_type type) {
|
void *actual, _Bool invert, enum xtest_type type) {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case xtest_type_bool:
|
case xtest_type_bool:
|
||||||
snprintf(assert_message, XTEST_ASSERT_MESSAGE_MAX_LEN, FAIL_ASSERT_FORMAT("%s"), expression,
|
snprintf(assert_message, XTEST_ASSERT_MESSAGE_MAX_LEN, FAIL_ASSERT_FORMAT("%s"), expression,
|
||||||
|
@ -272,15 +272,15 @@ void xtest_fail_assert(const char *expression, const char *file, int line, void
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
xtest_assert_float(double expected, double actual, int precision, int invert, const char *expression, const char *file,
|
xtest_assert_float(double expected, double actual, int precision, _Bool invert, const char *expression, const char *file,
|
||||||
int line) {
|
int line) {
|
||||||
|
|
||||||
double epsilon = 1.0;
|
double epsilon = 1.0;
|
||||||
for (int i = 0; i < precision; ++i) epsilon /= 10.0;
|
for (int i = 0; i < precision; ++i) epsilon /= 10.0;
|
||||||
double diff = expected - actual;
|
double diff = expected - actual;
|
||||||
if (diff < 0) diff = -diff;
|
if (diff < 0) diff = -diff;
|
||||||
int equals = diff < epsilon;
|
_Bool equals = diff < epsilon;
|
||||||
int failed = invert == equals; // invert = true: fail if equals, invert = false: fail if not equals
|
_Bool failed = invert == equals; // invert = true: fail if equals, invert = false: fail if not equals
|
||||||
if (!failed) return;
|
if (!failed) return;
|
||||||
snprintf(assert_message, 1024,
|
snprintf(assert_message, 1024,
|
||||||
"assertion failed: %s, expected %s%g but got %g (difference %g, precision %d) (%s:%d)",
|
"assertion failed: %s, expected %s%g but got %g (difference %g, precision %d) (%s:%d)",
|
||||||
|
@ -294,12 +294,12 @@ size_t find_diff_offset(const char *a, const char *b, size_t length) {
|
||||||
return offset;
|
return offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
void xtest_assert_mem(const char *expected, const char *actual, size_t length, int invert, const char *expression,
|
void xtest_assert_mem(const char *expected, const char *actual, size_t length, _Bool invert, const char *expression,
|
||||||
const char *file,
|
const char *file,
|
||||||
int line) {
|
int line) {
|
||||||
size_t offset = find_diff_offset(expected, actual, length);
|
size_t offset = find_diff_offset(expected, actual, length);
|
||||||
int equals = offset == length;
|
_Bool equals = offset == length;
|
||||||
int failed = invert == equals; // invert = true: fail if equals, invert = false: fail if not equals
|
_Bool failed = invert == equals; // invert = true: fail if equals, invert = false: fail if not equals
|
||||||
if (!failed) return;
|
if (!failed) return;
|
||||||
|
|
||||||
if (invert) {
|
if (invert) {
|
||||||
|
|
6
xtest.h
6
xtest.h
|
@ -44,12 +44,12 @@ enum xtest_type {
|
||||||
|
|
||||||
|
|
||||||
void xtest_fail_assert(const char *expression, const char *file, int line, void *expected,
|
void xtest_fail_assert(const char *expression, const char *file, int line, void *expected,
|
||||||
void *actual, int invert, enum xtest_type type);
|
void *actual, _Bool invert, enum xtest_type type);
|
||||||
void
|
void
|
||||||
xtest_assert_float(double expected, double actual, int precision, int invert, const char *expression, const char *file,
|
xtest_assert_float(double expected, double actual, int precision, _Bool invert, const char *expression, const char *file,
|
||||||
int line);
|
int line);
|
||||||
|
|
||||||
void xtest_assert_mem(const char *expected, const char *actual, size_t length, int invert, const char *expression, const char *file,
|
void xtest_assert_mem(const char *expected, const char *actual, size_t length, _Bool invert, const char *expression, const char *file,
|
||||||
int line);
|
int line);
|
||||||
|
|
||||||
void xtest_internal_run(xtest_test_fn fn, const char *name, xtest_param *params, xtest_setup_fn setup,
|
void xtest_internal_run(xtest_test_fn fn, const char *name, xtest_param *params, xtest_setup_fn setup,
|
||||||
|
|
Loading…
Reference in a new issue