diff --git a/tests/thread_msg_seq/main.c b/tests/thread_msg_seq/main.c index d830323815..75a6106b2f 100644 --- a/tests/thread_msg_seq/main.c +++ b/tests/thread_msg_seq/main.c @@ -57,17 +57,16 @@ int main(void) p_main = sched_active_pid; p1 = thread_create(t1_stack, sizeof(t1_stack), THREAD_PRIORITY_MAIN - 1, - THREAD_CREATE_WOUT_YIELD | THREAD_CREATE_STACKTEST, - sub_thread, "nr1", "nr1"); - p2 = thread_create(t2_stack, sizeof(t2_stack), THREAD_PRIORITY_MAIN - 1, - THREAD_CREATE_WOUT_YIELD | THREAD_CREATE_STACKTEST, - sub_thread, "nr2", "nr2"); - p3 = thread_create(t3_stack, sizeof(t3_stack), THREAD_PRIORITY_MAIN - 1, - THREAD_CREATE_WOUT_YIELD | THREAD_CREATE_STACKTEST, - sub_thread, "nr3", "nr3"); + THREAD_CREATE_STACKTEST, sub_thread, "nr1", "nr1"); + p2 = thread_create(t2_stack, sizeof(t2_stack), THREAD_PRIORITY_MAIN - 1, + THREAD_CREATE_STACKTEST, sub_thread, "nr2", "nr2"); + + p3 = thread_create(t3_stack, sizeof(t3_stack), THREAD_PRIORITY_MAIN - 1, + THREAD_CREATE_STACKTEST, sub_thread, "nr3", "nr3"); puts("THREADS CREATED\n"); - for(int i = 0; i < 3; i++) { + + for (int i = 0; i < 3; i++) { msg_receive(&msg); printf("Got msg from pid %" PRIkernel_pid ": \"%s\"\n", msg.sender_pid, (char *)msg.content.ptr); } diff --git a/tests/thread_msg_seq/tests/01-run.py b/tests/thread_msg_seq/tests/01-run.py index 4d4e78ef21..c0172b0f20 100755 --- a/tests/thread_msg_seq/tests/01-run.py +++ b/tests/thread_msg_seq/tests/01-run.py @@ -3,19 +3,26 @@ import sys from testrunner import run +THREAD_NAMES = ("nr1", "nr2", "nr3") + def testfunc(child): child.expect_exact("START") + # Collect pids + thread_pids = [] + for name in THREAD_NAMES: + child.expect(r"THREAD {} \(pid:(\d+)\) start".format(name)) + thread_pids.append(int(child.match.group(1))) child.expect_exact("THREADS CREATED") - child.expect_exact("THREAD nr1 (pid:3) start") - child.expect_exact("THREAD nr1 (pid:3) end.") - child.expect_exact("THREAD nr2 (pid:4) start") - child.expect_exact("THREAD nr3 (pid:5) start") - child.expect_exact("Got msg from pid 3: \"nr1\"") - child.expect_exact("THREAD nr2 (pid:4) end.") - child.expect_exact("Got msg from pid 4: \"nr2\"") - child.expect_exact("THREAD nr3 (pid:5) end.") - child.expect_exact("Got msg from pid 5: \"nr3\"") + + for index, name in enumerate(THREAD_NAMES): + child.expect(r"THREAD {} \(pid:(\d+)\) end.".format(name)) + thread_pid = int(child.match.group(1)) + assert thread_pid == thread_pids[index] + child.expect(r'Got msg from pid (\d+): "{}"'.format(name)) + thread_pid = int(child.match.group(1)) + assert thread_pid == thread_pids[index] + child.expect_exact("SUCCESS")