This test was buggy. The first call to k_thread_abort() would terminate the calling thread (because it handled a panic!) and so the second case (an essential thread self-aborting) wasn't actually being exercised and was silently "passing". Oops. Fix by splitting the cases into two tests, as suggested by @fsammoura But unmasking that shows that there are some arch buglets[1] to fix before this case can pass for everyone. So skip on x86/riscv/sparc for now. [1] See the comment. It's not really a "bug" as we've never demanded that arch layers do this. But it does work on many of them. Signed-off-by: Andy Ross <andyross@google.com> |
||
|---|---|---|
| .. | ||
| main.c | ||
| test_essential_thread.c | ||
| test_kthread_for_each.c | ||
| test_threads_cancel_abort.c | ||
| test_threads_cpu_mask.c | ||
| test_threads_set_priority.c | ||
| test_threads_spawn.c | ||
| test_threads_suspend_resume.c | ||
| tests_thread_apis.h | ||