Fix an overzealous compiler warning in the tests

This commit is contained in:
Nick Mathewson 2015-08-14 08:48:26 -04:00
parent 34aefe6f38
commit 05d52899cb
2 changed files with 15 additions and 6 deletions

View File

@ -40,6 +40,15 @@
tt_assert_test_type(a,b,#a" "#op" "#b,double,(val1_ op val2_),"%g", \
TT_EXIT_TEST_FUNCTION)
/* Declare "double equal" in a sneaky way, so compiler won't complain about
* comparing floats with == or !=. Of course, only do this if you know what
* you're doing. */
#define tt_double_eq(a,b) \
STMT_BEGIN \
tt_double_op((a), >=, (b)); \
tt_double_op((a), <=, (b)); \
STMT_END
#ifdef _MSC_VER
#define U64_PRINTF_TYPE uint64_t
#define I64_PRINTF_TYPE int64_t

View File

@ -934,12 +934,12 @@ test_container_order_functions(void *arg)
#undef third_quartile
double dbls[] = { 1.0, 10.0, 100.0, 1e4, 1e5, 1e6 };
tt_assert(1.0 == median_double(dbls, 1));
tt_assert(1.0 == median_double(dbls, 2));
tt_assert(10.0 == median_double(dbls, 3));
tt_assert(10.0 == median_double(dbls, 4));
tt_assert(100.0 == median_double(dbls, 5));
tt_assert(100.0 == median_double(dbls, 6));
tt_double_eq(1.0, median_double(dbls, 1));
tt_double_eq(1.0, median_double(dbls, 2));
tt_double_eq(10.0, median_double(dbls, 3));
tt_double_eq(10.0, median_double(dbls, 4));
tt_double_eq(100.0, median_double(dbls, 5));
tt_double_eq(100.0, median_double(dbls, 6));
time_t times[] = { 5, 10, 20, 25, 15 };