From 05d52899cbdc7a16d4e9b93555a081d16b06d96b Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Fri, 14 Aug 2015 08:48:26 -0400 Subject: [PATCH] Fix an overzealous compiler warning in the tests --- src/test/test.h | 9 +++++++++ src/test/test_containers.c | 12 ++++++------ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/test/test.h b/src/test/test.h index b0c0946ac4..86699c3d07 100644 --- a/src/test/test.h +++ b/src/test/test.h @@ -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 diff --git a/src/test/test_containers.c b/src/test/test_containers.c index eb98cc80b4..1ee240fb0d 100644 --- a/src/test/test_containers.c +++ b/src/test/test_containers.c @@ -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 };