Skip to content

Commit

Permalink
tests/posix_semaphore: unify and increase allowed test4 margin
Browse files Browse the repository at this point in the history
Previously, there was a very tight allowed margin (100us), then some
special cases for platforms for which the test would otherwise fail,
increasing the margin.
This turned out to be a maintanance burden, as each slightly special
board needed a PR adding the special case.

This commit sets a quite large margin (1000us, 0.1% of total delay),
which should be large enough to not trip over platform-induced timer
inaccuracies, but still verify that the module is using timers
correctly.

(This is not a timer accuracy test.)
  • Loading branch information
kaspar030 committed May 6, 2019
1 parent 5eaf45c commit a9cd943
Showing 1 changed file with 10 additions and 10 deletions.
20 changes: 10 additions & 10 deletions tests/posix_semaphore/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -236,16 +236,16 @@ void test3(void)
sem_post(&s1);
}

#ifdef BOARD_NATIVE
/* native can sometime take more time to respond as it is not real time */
#define TEST4_TIMEOUT_EXCEEDED_MARGIN (300)
#elif CPU_FAM_NRF51
/* nrf51 based boards needs a slightly higher margin value. Using 105us makes
test4 result more reliable. */
#define TEST4_TIMEOUT_EXCEEDED_MARGIN (105)
#else
#define TEST4_TIMEOUT_EXCEEDED_MARGIN (100)
#endif /* BOARD_NATIVE */
/*
* Allowed margin for waiting too long.
*
* Waiting too short is forbidden by POSIX, but is checked elsewhere.
*
* This allows waiting a little (0.1%) longer than exactly 1000000us.
* The value should be large enough to not trip over timer inaccuracies, but
* small enough to catch any fundamental problems.
*/
#define TEST4_TIMEOUT_EXCEEDED_MARGIN (1000)

void test4(void)
{
Expand Down

0 comments on commit a9cd943

Please sign in to comment.