From da611d69b1a29f3bb24ef23c79ead4b2b7edcf04 Mon Sep 17 00:00:00 2001 From: Steffen Vogel Date: Thu, 13 Oct 2016 19:48:18 -0400 Subject: [PATCH] fixed some unit tests --- tests/hist.c | 17 +++++++++-------- tests/timing.c | 44 ++++++++++++++++++++++---------------------- 2 files changed, 31 insertions(+), 30 deletions(-) diff --git a/tests/hist.c b/tests/hist.c index b5092b29d..df9c655e8 100644 --- a/tests/hist.c +++ b/tests/hist.c @@ -9,26 +9,27 @@ #include #include "hist.h" +#include "utils.h" -const double test_data[] = {}; +const double test_data[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; /* Histogram of test_data with 200 buckets between -100 and 100 */ const int hist_result[] = {}; -Test(hist) { +Test(hist, simple) { struct hist h; hist_create(&h, -100, 100, 1); for (int i = 0; i < ARRAY_LEN(test_data); i++) - hist_put(&h, test_data[i]) + hist_put(&h, test_data[i]); - cr_assert_float_eq(hist_mean(&h), 1, 1e-6); - cr_assert_float_eq(hist_var(s&h), 1, 1e-6); - cr_assert_float_eq(hist_stddev(&h), 1, 1e-6); + cr_assert_float_eq(hist_mean(&h), 5.5, 1e-6); + cr_assert_float_eq(hist_var(&h), 9.1666, 1e-3,); + cr_assert_float_eq(hist_stddev(&h), 3.027650, 1e-6); - for (int i = 0; i < ARRAY_LEN(hist_result); i++) - cr_assert_eq() +// for (int i = 0; i < ARRAY_LEN(hist_result); i++) +// cr_assert_eq() hist_destroy(&h); } \ No newline at end of file diff --git a/tests/timing.c b/tests/timing.c index 28412a2ac..98f4e2616 100644 --- a/tests/timing.c +++ b/tests/timing.c @@ -10,7 +10,7 @@ #include "timing.h" -Test(time_now) { +Test(timing, time_now) { struct timespec now1 = time_now(); struct timespec now2 = time_now(); @@ -20,9 +20,9 @@ Test(time_now) { cr_assert_gt(delta, 0, "time_now() was reordered!"); } -Test(time_diff) { - struct timespec ts1 = { .tv_sec 1, .tv_nsec = 0}; /* Value doesnt matter */ - struct timespec ts2 = { .tv_sec 0, .tv_nsec = 1}; /* Overflow in nano seconds! */ +Test(timing, time_diff) { + struct timespec ts1 = { .tv_sec = 0, .tv_nsec = 1}; /* Value doesnt matter */ + struct timespec ts2 = { .tv_sec = 1, .tv_nsec = 0}; /* Overflow in nano seconds! */ struct timespec ts3 = time_diff(&ts1, &ts2); @@ -31,27 +31,27 @@ Test(time_diff) { cr_assert_eq(ts3.tv_nsec, 999999999); } -Test(time_add) { - struct timespec ts1 = { .tv_sec 1, .tv_nsec = 999999999}; /* Value doesnt matter */ - struct timespec ts2 = { .tv_sec 1, .tv_nsec = 1}; /* Overflow in nano seconds! */ +Test(timing, time_add) { + struct timespec ts1 = { .tv_sec = 1, .tv_nsec = 999999999}; /* Value doesnt matter */ + struct timespec ts2 = { .tv_sec = 1, .tv_nsec = 1}; /* Overflow in nano seconds! */ struct timespec ts3 = time_add(&ts1, &ts2); /* ts4 == ts2? */ - cr_assert_eq(ts3.tv_sec, 2); + cr_assert_eq(ts3.tv_sec, 3); cr_assert_eq(ts3.tv_nsec, 0); } -Test(time_delta) { - struct timespec ts1 = { .tv_sec 1, .tv_nsec = 123}; /* Value doesnt matter */ - struct timespec ts2 = { .tv_sec 5, .tv_nsec = 246}; /* Overflow in nano seconds! */ +Test(timing, time_delta) { + struct timespec ts1 = { .tv_sec = 1, .tv_nsec = 123}; /* Value doesnt matter */ + struct timespec ts2 = { .tv_sec = 5, .tv_nsec = 246}; /* Overflow in nano seconds! */ - double = time_delta(&ts1, &ts2); + double delta = time_delta(&ts1, &ts2); - cr_assert_float_eq(ts3.tv_sec, 4 + 123e-9, 1e-9); + cr_assert_float_eq(delta, 4 + 123e-9, 1e-9); } -Test(time_from_double) { +Test(timing, time_from_double) { double ref = 1234.56789; struct timespec ts = time_from_double(ref); @@ -60,7 +60,7 @@ Test(time_from_double) { cr_assert_eq(ts.tv_nsec, 567890000); } -Test(time_to_from_double) { +Test(timing, time_to_from_double) { double ref = 1234.56789; struct timespec ts = time_from_double(ref); @@ -69,22 +69,22 @@ Test(time_to_from_double) { cr_assert_float_eq(dbl, ref, 1e-9); } -Test(timer_wait_until) { - int tfd = timer_fd_create(CLOCK_MONOTONIC, 0); +Test(timing, timerfd_wait_until) { + int tfd = timerfd_create(CLOCK_REALTIME, 0); cr_assert(tfd > 0); - double waitfor = 1.123456789; + double waitfor = 0.423456789; struct timespec start = time_now(); struct timespec diff = time_from_double(waitfor); - struct timespec future = time_add(&start, &diff) + struct timespec future = time_add(&start, &diff); - timer_wait_until(tfd, &future); + timerfd_wait_until(tfd, &future); struct timespec end = time_now(); - double waited = time_delta(&end, &start); + double waited = time_delta(&start, &end); - cr_assert_float_eq(waited, waitfor, 1e-3, "We did not wait for %f secs"); + cr_assert_float_eq(waited, waitfor, 1e-3, "We slept for %f instead of %f secs", waited, waitfor); } \ No newline at end of file