zephyr/tests/kernel
Andy Ross fdba8be777 tests/kernel/smp: Fixup IPI test
This test was written to assume that the only IPI handled would be the
one generated by the test, but the scheduler also generates an IPI any
time a thread becomes runnable, and there's no way to lock that out in
an SMP system where the other CPU is going to be doing its own thing
(we can't use "1cpu" because that locks interrupts on the other CPU
and obviously this is a test of an interrupt).

Change the logic to detect that "at least one IPI was received", which
is fine for coverage.  Really a better place for a test like this
would have been tests/kernel/mp, which is a test of the lower level
APIs and runs the other CPU deterministically (i.e. not under the
control of the Zephyr scheduler).

Also some misc fixes:

* Don't busy wait at the start, that's needless.

* Sleep instead of busywaiting after sending the IPI, spinning isn't
  needed here and acts to increase CI load needlessly.

* Declare the cross thread signal variable volatile for correctness
  (though this error seems to have been benign in practice).

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2020-07-07 12:59:33 -04:00
..
common printk: print %p properly on 32-bit targets 2020-06-27 00:03:58 -04:00
context tests: kernel: remove ram restrictions 2020-06-09 23:36:16 -04:00
device tests: adding test cases for device abstraction 2020-06-25 17:02:27 -04:00
early_sleep samples/tests: Convert use of %ll{u,d} to PRI{u,d}64 2020-06-08 08:23:57 -05:00
fatal zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
fifo tests: kernel: remove ram restrictions 2020-06-09 23:36:16 -04:00
fpu_sharing zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
gen_isr_table zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
interrupt tests: interrupt: include bcm platform 2020-07-03 12:19:31 -04:00
lifo tests: kernel: lifo_usage: Exclude on qemu_arc_em 2020-06-21 09:47:24 -04:00
mbox tests: kernel: remove ram restrictions 2020-06-09 23:36:16 -04:00
mem_heap/mheap_api_concept tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
mem_pool tests: kernel: remove ram restrictions 2020-06-09 23:36:16 -04:00
mem_protect tests: mem protect syscalls update Doxygen tags, fix API, misprints 2020-07-02 08:26:12 -04:00
mem_slab tests: kernel: remove ram restrictions 2020-06-09 23:36:16 -04:00
mp tests: make find_package(Zephyr...) REQUIRED 2020-05-29 10:47:25 +02:00
msgq/msgq_api zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
mutex tests: kernel: remove ram restrictions 2020-06-09 23:36:16 -04:00
obj_tracing tests: kernel: remove ram restrictions 2020-06-09 23:36:16 -04:00
pending tests: kernel: remove ram restrictions 2020-06-09 23:36:16 -04:00
pipe Tests: Add and modify testcases for pipe. 2020-06-09 08:13:46 -04:00
poll sys: util: Added separator to FOR_EACH_ macros 2020-06-10 11:58:13 +02:00
profiling/profiling_api zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
queue tests: queue modifying and adding test case 2020-06-24 20:59:52 +02:00
sched tests: kernel: remove ram restrictions 2020-06-09 23:36:16 -04:00
semaphore/semaphore tests: kernel: remove ram restrictions 2020-06-09 23:36:16 -04:00
sleep samples/tests: Convert use of %ll{u,d} to PRI{u,d}64 2020-06-08 08:23:57 -05:00
smp tests/kernel/smp: Fixup IPI test 2020-07-07 12:59:33 -04:00
spinlock tests: adding test cases of spinlock 2020-06-23 16:14:55 -04:00
stack/stack zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
threads zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
tickless tests: kernel: tickless: re-enabled test-suite for Qemu Cortex-M0 2020-06-24 18:04:17 -07:00
timer tests: kernel: timer_api: add timer label for this test 2020-06-24 18:04:17 -07:00
workq zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
xip zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00