From 9ea3d2fb65bd66afe20bde7746a52c8ad3db50ee Mon Sep 17 00:00:00 2001 From: Przemyslaw Stekiel Date: Mon, 19 Feb 2018 11:24:19 +0100 Subject: [PATCH] tests-events-timing - print debug info only in case of failure. In the 'Testing accuracy of equeue semaphore' test case result is printed out in each loop iteration. Since debug prints should not exist in the final test version I suggest to print information only in case of failure. Additionally time needed to print single info is equal to ~25 ms (K64F/GCC_ARM). The while loop is designed to execute until 20000 ms elapses, so this print has also impact on number of times the loop is executed (number of semaphore accuracy checks). --- TESTS/events/timing/main.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/TESTS/events/timing/main.cpp b/TESTS/events/timing/main.cpp index d568b0f5b6..74ec8f949f 100644 --- a/TESTS/events/timing/main.cpp +++ b/TESTS/events/timing/main.cpp @@ -107,7 +107,10 @@ void semaphore_timing_test() { equeue_sema_wait(&sema, delay); int taken = timer.read_us() - start; - printf("delay %dms => error %dus\r\n", delay, abs(1000*delay - taken)); + if (taken < (delay * 1000 - 5000) || taken > (delay * 1000 + 5000)) { + printf("delay %dms => error %dus\r\n", delay, abs(1000 * delay - taken)); + } + TEST_ASSERT_INT_WITHIN(5000, taken, delay * 1000); led = !led;