test: fix cmocka assert_float_equal shadowing warnings

Just use cmocka's function. It takes an epsilon argument, which we now
provide directly.

There's no assert_double_equal() in cmocka (and the float variant
actually forces a conversion to the float type), but fortunately we
didn't use it.
This commit is contained in:
wm4 2019-09-21 22:11:52 +02:00
parent 9280e6b322
commit 293dfc7825
3 changed files with 6 additions and 9 deletions

View File

@ -4,22 +4,22 @@
static void test_scale_ambient_lux_limits(void **state) { static void test_scale_ambient_lux_limits(void **state) {
float x; float x;
x = gl_video_scale_ambient_lux(16.0, 64.0, 2.40, 1.961, 16.0); x = gl_video_scale_ambient_lux(16.0, 64.0, 2.40, 1.961, 16.0);
assert_float_equal(x, 2.40f); assert_float_equal(x, 2.40f, FLT_EPSILON);
x = gl_video_scale_ambient_lux(16.0, 64.0, 2.40, 1.961, 64.0); x = gl_video_scale_ambient_lux(16.0, 64.0, 2.40, 1.961, 64.0);
assert_float_equal(x, 1.961f); assert_float_equal(x, 1.961f, FLT_EPSILON);
} }
static void test_scale_ambient_lux_sign(void **state) { static void test_scale_ambient_lux_sign(void **state) {
float x; float x;
x = gl_video_scale_ambient_lux(16.0, 64.0, 1.961, 2.40, 64.0); x = gl_video_scale_ambient_lux(16.0, 64.0, 1.961, 2.40, 64.0);
assert_float_equal(x, 2.40f); assert_float_equal(x, 2.40f, FLT_EPSILON);
} }
static void test_scale_ambient_lux_clamping(void **state) { static void test_scale_ambient_lux_clamping(void **state) {
float x; float x;
x = gl_video_scale_ambient_lux(16.0, 64.0, 2.40, 1.961, 0.0); x = gl_video_scale_ambient_lux(16.0, 64.0, 2.40, 1.961, 0.0);
assert_float_equal(x, 2.40f); assert_float_equal(x, 2.40f, FLT_EPSILON);
} }
static void test_scale_ambient_lux_log10_midpoint(void **state) { static void test_scale_ambient_lux_log10_midpoint(void **state) {
@ -27,7 +27,7 @@ static void test_scale_ambient_lux_log10_midpoint(void **state) {
// 32 corresponds to the the midpoint after converting lux to the log10 scale // 32 corresponds to the the midpoint after converting lux to the log10 scale
x = gl_video_scale_ambient_lux(16.0, 64.0, 2.40, 1.961, 32.0); x = gl_video_scale_ambient_lux(16.0, 64.0, 2.40, 1.961, 32.0);
float mid_gamma = (2.40 - 1.961) / 2 + 1.961; float mid_gamma = (2.40 - 1.961) / 2 + 1.961;
assert_float_equal(x, mid_gamma); assert_float_equal(x, mid_gamma, FLT_EPSILON);
} }
int main(void) { int main(void) {

View File

@ -10,7 +10,4 @@
#include <math.h> #include <math.h>
#include <float.h> #include <float.h>
#define assert_double_equal(a, b) assert_true(fabs((a) - (b)) <= DBL_EPSILON * fmax(fabs(a), fabs(b)))
#define assert_float_equal(a, b) assert_true(fabsf((a) - (b)) <= FLT_EPSILON * fmaxf(fabsf(a), fabsf(b)))
#endif #endif

View File

@ -118,7 +118,7 @@ build_options = [
}, { }, {
'name': '--test', 'name': '--test',
'desc': 'test suite (using cmocka)', 'desc': 'test suite (using cmocka)',
'func': check_pkg_config('cmocka', '>= 1.0.0'), 'func': check_pkg_config('cmocka', '>= 1.1.5'),
'default': 'disable', 'default': 'disable',
}, { }, {
'name': '--clang-database', 'name': '--clang-database',