From 6fb003f5880405d664f532ce9313f0bd666ca675 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 26 Jul 2018 12:03:45 +0200 Subject: Fix sporadic test failures via uma_timeout() --- testsuite/syscalls01/test_main.c | 17 +++++------------ testsuite/thread01/test_main.c | 11 ++++++++++- 2 files changed, 15 insertions(+), 13 deletions(-) (limited to 'testsuite') diff --git a/testsuite/syscalls01/test_main.c b/testsuite/syscalls01/test_main.c index a00151bf..af77d48a 100644 --- a/testsuite/syscalls01/test_main.c +++ b/testsuite/syscalls01/test_main.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013 embedded brains GmbH. All rights reserved. + * Copyright (c) 2013, 2018 embedded brains GmbH. All rights reserved. * * embedded brains GmbH * Dornierstr. 4 @@ -38,6 +38,7 @@ #include #include #include +#include #include #include #include @@ -1599,23 +1600,15 @@ test_setgethostname(void) assert(in[sizeof(in) - 1] == '\0'); } -static void set_self_prio(rtems_task_priority prio) -{ - rtems_status_code sc; - - sc = rtems_task_set_priority(RTEMS_SELF, prio, &prio); - assert(sc == RTEMS_SUCCESSFUL); -} - static void test_main(void) { /* - * No interruptions by the timer server. The uma_timeout() may need - * some dynamic memory. This could disturb the no memory tests. + * Stop interferences of uma_timeout() which may need some dynamic + * memory. This could disturb the no memory tests. */ - set_self_prio(1); + rtems_uma_drain_timeout(); /* Must be first test to ensure resource checks work */ test_sockets(); diff --git a/testsuite/thread01/test_main.c b/testsuite/thread01/test_main.c index f1cef304..fa15b9f6 100644 --- a/testsuite/thread01/test_main.c +++ b/testsuite/thread01/test_main.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-2014 embedded brains GmbH. All rights reserved. + * Copyright (c) 2013, 2018 embedded brains GmbH. All rights reserved. * * embedded brains GmbH * Dornierstr. 4 @@ -43,6 +43,8 @@ #include #include +#include + #include #include @@ -284,8 +286,15 @@ test_rtems_bsd_get_curthread_or_null(void) static void test_main(void) { + main_task_id = rtems_task_self(); + /* + * Stop interferences of uma_timeout() which may need some dynamic + * memory. This could disturb the no memory tests. + */ + rtems_uma_drain_timeout(); + test_non_bsd_thread(); test_kproc_start(); test_kthread_start(); -- cgit v1.2.3