From 2760fb9edaa71f179bafcb2c76b7cadcc5c22bb7 Mon Sep 17 00:00:00 2001 From: Torsten Rasmussen Date: Thu, 26 Aug 2021 14:03:00 +0200 Subject: [PATCH] tests: added kernel tests for arm arch with linker script generator This commit adds an additional test case for several kernel test suites to ensure that the linker script generator is working correctly for a subset of the Zephyr test suites. The ensures that the basic functionality of the linker script generator is working while still keep the performance impact on CI at a minimal level. Using the kernel tests is a trade-off between testing coverage of the linker script generator and the time it takes to complete CI. The kernel tests is considered to have the broadest coverage of various features important for the generated linker script. Signed-off-by: Torsten Rasmussen --- tests/kernel/context/testcase.yaml | 5 +++++ tests/kernel/early_sleep/testcase.yaml | 5 +++++ tests/kernel/fifo/fifo_api/testcase.yaml | 5 +++++ tests/kernel/fifo/fifo_timeout/testcase.yaml | 5 +++++ tests/kernel/fifo/fifo_usage/testcase.yaml | 5 +++++ tests/kernel/gen_isr_table/testcase.yaml | 14 +++++++++++--- tests/kernel/interrupt/testcase.yaml | 7 +++++++ tests/kernel/lifo/lifo_api/testcase.yaml | 5 +++++ tests/kernel/lifo/lifo_usage/testcase.yaml | 7 +++++++ tests/kernel/mbox/mbox_api/testcase.yaml | 5 +++++ tests/kernel/mbox/mbox_usage/testcase.yaml | 5 +++++ tests/kernel/mem_heap/k_heap_api/testcase.yaml | 5 +++++ .../mem_heap/mheap_api_concept/testcase.yaml | 6 ++++++ tests/kernel/mem_slab/mslab/testcase.yaml | 5 +++++ tests/kernel/mem_slab/mslab_api/testcase.yaml | 6 +++++- tests/kernel/mem_slab/mslab_concept/testcase.yaml | 5 +++++ .../kernel/mem_slab/mslab_threadsafe/testcase.yaml | 5 +++++ tests/kernel/mp/testcase.yaml | 6 ++++++ tests/kernel/msgq/msgq_usage/testcase.yaml | 5 +++++ tests/kernel/sched/deadline/testcase.yaml | 5 +++++ tests/kernel/sched/metairq/testcase.yaml | 7 +++++++ tests/kernel/sched/preempt/testcase.yaml | 7 +++++++ tests/kernel/sched/schedule_api/testcase.yaml | 7 +++++++ tests/kernel/smp/testcase.yaml | 7 +++++++ tests/kernel/timer/starve/testcase.yaml | 6 ++++++ tests/kernel/timer/timer_monotonic/testcase.yaml | 5 +++++ tests/kernel/workq/critical/testcase.yaml | 6 ++++++ tests/kernel/workq/work/testcase.yaml | 6 ++++++ tests/kernel/workq/work_queue/testcase.yaml | 6 ++++++ tests/kernel/xip/testcase.yaml | 6 ++++++ 30 files changed, 175 insertions(+), 4 deletions(-) diff --git a/tests/kernel/context/testcase.yaml b/tests/kernel/context/testcase.yaml index d3854ccfa8f..cec3f1ad91a 100644 --- a/tests/kernel/context/testcase.yaml +++ b/tests/kernel/context/testcase.yaml @@ -1,3 +1,8 @@ tests: kernel.common: tags: kernel + kernel.common.linker_generator: + platform_allow: qemu_cortex_m3 + tags: kernel linker_generator + extra_configs: + - CONFIG_CMAKE_LINKER_GENERATOR=y diff --git a/tests/kernel/early_sleep/testcase.yaml b/tests/kernel/early_sleep/testcase.yaml index 25d36c9bd90..6b446cfe7db 100644 --- a/tests/kernel/early_sleep/testcase.yaml +++ b/tests/kernel/early_sleep/testcase.yaml @@ -1,3 +1,8 @@ tests: kernel.common.sleep: tags: kernel sleep + kernel.common.sleep.linker_generator: + platform_allow: qemu_cortex_m3 + tags: kernel sleep linker_generator + extra_configs: + - CONFIG_CMAKE_LINKER_GENERATOR=y diff --git a/tests/kernel/fifo/fifo_api/testcase.yaml b/tests/kernel/fifo/fifo_api/testcase.yaml index 3ed52a92a1d..2e123c57abc 100644 --- a/tests/kernel/fifo/fifo_api/testcase.yaml +++ b/tests/kernel/fifo/fifo_api/testcase.yaml @@ -1,3 +1,8 @@ tests: kernel.fifo: tags: kernel + kernel.fifo.linker_generator: + platform_allow: qemu_cortex_m3 + tags: kernel linker_generator + extra_configs: + - CONFIG_CMAKE_LINKER_GENERATOR=y diff --git a/tests/kernel/fifo/fifo_timeout/testcase.yaml b/tests/kernel/fifo/fifo_timeout/testcase.yaml index b1b146854a8..a7d66d31af2 100644 --- a/tests/kernel/fifo/fifo_timeout/testcase.yaml +++ b/tests/kernel/fifo/fifo_timeout/testcase.yaml @@ -1,3 +1,8 @@ tests: kernel.fifo.timeout: tags: kernel + kernel.fifo.timeout.linker_generator: + platform_allow: qemu_cortex_m3 + tags: kernel linker_generator + extra_configs: + - CONFIG_CMAKE_LINKER_GENERATOR=y diff --git a/tests/kernel/fifo/fifo_usage/testcase.yaml b/tests/kernel/fifo/fifo_usage/testcase.yaml index 0f790c8198f..6d70a284716 100644 --- a/tests/kernel/fifo/fifo_usage/testcase.yaml +++ b/tests/kernel/fifo/fifo_usage/testcase.yaml @@ -1,3 +1,8 @@ tests: kernel.fifo.usage: tags: kernel + kernel.fifo.usage.linker_generator: + platform_allow: qemu_cortex_m3 + tags: kernel linker_generator + extra_configs: + - CONFIG_CMAKE_LINKER_GENERATOR=y diff --git a/tests/kernel/gen_isr_table/testcase.yaml b/tests/kernel/gen_isr_table/testcase.yaml index d1ebaee95f7..201ce711e93 100644 --- a/tests/kernel/gen_isr_table/testcase.yaml +++ b/tests/kernel/gen_isr_table/testcase.yaml @@ -1,13 +1,21 @@ tests: arch.interrupt.gen_isr_table.arm_baseline: - arch_allow: arm + platform_allow: qemu_cortex_m3 platform_allow: bbc_microbit atsamr21_xpro nrf51dk_nrf51422 nucleo_g071rb qemu_cortex_m0 filter: CONFIG_GEN_ISR_TABLES and CONFIG_ARMV6_M_ARMV8_M_BASELINE tags: kernel interrupt isr_table extra_configs: - CONFIG_NULL_POINTER_EXCEPTION_DETECTION_NONE=y + arch.interrupt.gen_isr_table.arm_baseline.linker_generator: + platform_allow: qemu_cortex_m3 + platform_allow: bbc_microbit atsamr21_xpro nrf51dk_nrf51422 nucleo_g071rb qemu_cortex_m0 + filter: CONFIG_GEN_ISR_TABLES and CONFIG_ARMV6_M_ARMV8_M_BASELINE + tags: kernel interrupt isr_table linker_generator + extra_configs: + - CONFIG_NULL_POINTER_EXCEPTION_DETECTION_NONE=y + - CONFIG_CMAKE_LINKER_GENERATOR=y arch.interrupt.gen_isr_table.arm_mainline: - arch_allow: arm + platform_allow: qemu_cortex_m3 platform_exclude: stmf103_mini nucleo_f103rb olimexino_stm32 stm32_min_dev_black stm32_min_dev_blue usb_kw24d512 v2m_beetle cc1352r1_launchxl cc26x2r1_launchxl olimex_stm32_h103 cc1352r_sensortag @@ -16,7 +24,7 @@ tests: extra_configs: - CONFIG_NULL_POINTER_EXCEPTION_DETECTION_NONE=y arch.interrupt.gen_isr_table.disabled: - arch_allow: arm + platform_allow: qemu_cortex_m3 extra_configs: - CONFIG_GEN_ISR_TABLES=n - CONFIG_NULL_POINTER_EXCEPTION_DETECTION_NONE=y diff --git a/tests/kernel/interrupt/testcase.yaml b/tests/kernel/interrupt/testcase.yaml index 1dcf177af43..8263936b1e6 100644 --- a/tests/kernel/interrupt/testcase.yaml +++ b/tests/kernel/interrupt/testcase.yaml @@ -16,3 +16,10 @@ tests: filter: not CONFIG_X86_64 extra_configs: - CONFIG_COMPILER_OPT="-mgeneral-regs-only" + + arch.interrupt.linker_generator: + platform_allow: qemu_cortex_m3 + tags: kernel interrupt linker_generator + filter: not CONFIG_TRUSTED_EXECUTION_NONSECURE + extra_configs: + - CONFIG_CMAKE_LINKER_GENERATOR=y diff --git a/tests/kernel/lifo/lifo_api/testcase.yaml b/tests/kernel/lifo/lifo_api/testcase.yaml index f48d90e00a2..f4a9a6f8ae9 100644 --- a/tests/kernel/lifo/lifo_api/testcase.yaml +++ b/tests/kernel/lifo/lifo_api/testcase.yaml @@ -1,3 +1,8 @@ tests: kernel.lifo: tags: kernel + kernel.lifo.linker_generator: + platform_allow: qemu_cortex_m3 + tags: kernel linker_generator + extra_configs: + - CONFIG_CMAKE_LINKER_GENERATOR=y diff --git a/tests/kernel/lifo/lifo_usage/testcase.yaml b/tests/kernel/lifo/lifo_usage/testcase.yaml index 96eb7c35712..0d2ba91bbe9 100644 --- a/tests/kernel/lifo/lifo_usage/testcase.yaml +++ b/tests/kernel/lifo/lifo_usage/testcase.yaml @@ -4,3 +4,10 @@ tests: platform_exclude: m2gl025_miv tags: kernel min_ram: 20 + kernel.lifo.usage.linker_generator: + platform_exclude: m2gl025_miv + platform_allow: qemu_cortex_m3 + tags: kernel linker_generator + min_ram: 20 + extra_configs: + - CONFIG_CMAKE_LINKER_GENERATOR=y diff --git a/tests/kernel/mbox/mbox_api/testcase.yaml b/tests/kernel/mbox/mbox_api/testcase.yaml index c64c5f8793f..db6a8c1609f 100644 --- a/tests/kernel/mbox/mbox_api/testcase.yaml +++ b/tests/kernel/mbox/mbox_api/testcase.yaml @@ -1,3 +1,8 @@ tests: kernel.mailbox.api: tags: kernel + kernel.mailbox.api.linker_generator: + platform_allow: qemu_cortex_m3 + tags: kernel linker_generator + extra_configs: + - CONFIG_CMAKE_LINKER_GENERATOR=y diff --git a/tests/kernel/mbox/mbox_usage/testcase.yaml b/tests/kernel/mbox/mbox_usage/testcase.yaml index 7c81da0400d..2d1d5b5572b 100644 --- a/tests/kernel/mbox/mbox_usage/testcase.yaml +++ b/tests/kernel/mbox/mbox_usage/testcase.yaml @@ -1,3 +1,8 @@ tests: kernel.mailbox.usage: tags: kernel + kernel.mailbox.usage.linker_generator: + platform_allow: qemu_cortex_m3 + tags: kernel linker_generator + extra_configs: + - CONFIG_CMAKE_LINKER_GENERATOR=y diff --git a/tests/kernel/mem_heap/k_heap_api/testcase.yaml b/tests/kernel/mem_heap/k_heap_api/testcase.yaml index bcb7a71b77e..2b612e04cce 100644 --- a/tests/kernel/mem_heap/k_heap_api/testcase.yaml +++ b/tests/kernel/mem_heap/k_heap_api/testcase.yaml @@ -1,3 +1,8 @@ tests: kernel.k_heap_api: tags: k_heap_api kernel + kernel.k_heap_api.linker_generator: + platform_allow: qemu_cortex_m3 + tags: k_heap_api kernel linker_generator + extra_configs: + - CONFIG_CMAKE_LINKER_GENERATOR=y diff --git a/tests/kernel/mem_heap/mheap_api_concept/testcase.yaml b/tests/kernel/mem_heap/mheap_api_concept/testcase.yaml index f3bdaebb5f5..2405c369526 100644 --- a/tests/kernel/mem_heap/mheap_api_concept/testcase.yaml +++ b/tests/kernel/mem_heap/mheap_api_concept/testcase.yaml @@ -8,3 +8,9 @@ tests: platform_allow: qemu_cortex_m3 qemu_cortex_m0 extra_configs: - CONFIG_MULTITHREADING=n + kernel.memory_heap.linker_generator: + platform_allow: qemu_cortex_m3 + tags: kernel linker_generator + extra_configs: + - CONFIG_IRQ_OFFLOAD=y + - CONFIG_CMAKE_LINKER_GENERATOR=y diff --git a/tests/kernel/mem_slab/mslab/testcase.yaml b/tests/kernel/mem_slab/mslab/testcase.yaml index 75bedd79824..aa4bdb4197f 100644 --- a/tests/kernel/mem_slab/mslab/testcase.yaml +++ b/tests/kernel/mem_slab/mslab/testcase.yaml @@ -1,3 +1,8 @@ tests: kernel.memory_slabs.api: tags: kernel + kernel.memory_slabs.api.linker_generator: + platform_allow: qemu_cortex_m3 + tags: kernel linker_generator + extra_configs: + - CONFIG_CMAKE_LINKER_GENERATOR=y diff --git a/tests/kernel/mem_slab/mslab_api/testcase.yaml b/tests/kernel/mem_slab/mslab_api/testcase.yaml index 7bf5ba43d3e..459178b47b5 100644 --- a/tests/kernel/mem_slab/mslab_api/testcase.yaml +++ b/tests/kernel/mem_slab/mslab_api/testcase.yaml @@ -6,4 +6,8 @@ tests: platform_allow: qemu_cortex_m3 qemu_cortex_m0 extra_configs: - CONFIG_MULTITHREADING=n - + kernel.memory_slabs.api.linker_generator: + platform_allow: qemu_cortex_m3 + tags: kernel linker_generator + extra_configs: + - CONFIG_CMAKE_LINKER_GENERATOR=y diff --git a/tests/kernel/mem_slab/mslab_concept/testcase.yaml b/tests/kernel/mem_slab/mslab_concept/testcase.yaml index 9471ef6bb30..c3cdc92c9b3 100644 --- a/tests/kernel/mem_slab/mslab_concept/testcase.yaml +++ b/tests/kernel/mem_slab/mslab_concept/testcase.yaml @@ -1,3 +1,8 @@ tests: kernel.memory_slabs.concept: tags: kernel + kernel.memory_slabs.concept.linker_generator: + platform_allow: qemu_cortex_m3 + tags: kernel linker_generator + extra_configs: + - CONFIG_CMAKE_LINKER_GENERATOR=y diff --git a/tests/kernel/mem_slab/mslab_threadsafe/testcase.yaml b/tests/kernel/mem_slab/mslab_threadsafe/testcase.yaml index b744ef8c0af..7a0161cdc0a 100644 --- a/tests/kernel/mem_slab/mslab_threadsafe/testcase.yaml +++ b/tests/kernel/mem_slab/mslab_threadsafe/testcase.yaml @@ -1,3 +1,8 @@ tests: kernel.memory_slabs.threadsafe: tags: kernel + kernel.memory_slabs.threadsafe.linker_generator: + platform_allow: qemu_cortex_m3 + tags: kernel linker_generator + extra_configs: + - CONFIG_CMAKE_LINKER_GENERATOR=y diff --git a/tests/kernel/mp/testcase.yaml b/tests/kernel/mp/testcase.yaml index 618fe07fe38..b5288695430 100644 --- a/tests/kernel/mp/testcase.yaml +++ b/tests/kernel/mp/testcase.yaml @@ -2,3 +2,9 @@ tests: kernel.multiprocessing: tags: kernel smp filter: CONFIG_MP_NUM_CPUS > 1 + kernel.multiprocessing.linker_generator: + platform_allow: qemu_cortex_m3 + tags: kernel smp linker_generator + filter: CONFIG_MP_NUM_CPUS > 1 + extra_configs: + - CONFIG_CMAKE_LINKER_GENERATOR=y diff --git a/tests/kernel/msgq/msgq_usage/testcase.yaml b/tests/kernel/msgq/msgq_usage/testcase.yaml index a991899a6f1..dbdbd44c2d3 100644 --- a/tests/kernel/msgq/msgq_usage/testcase.yaml +++ b/tests/kernel/msgq/msgq_usage/testcase.yaml @@ -1,3 +1,8 @@ tests: kernel.message_queue_usage: tags: kernel + kernel.message_queue_usage.linker_generator: + platform_allow: qemu_cortex_m3 + tags: kernel linker_generator + extra_configs: + - CONFIG_CMAKE_LINKER_GENERATOR=y diff --git a/tests/kernel/sched/deadline/testcase.yaml b/tests/kernel/sched/deadline/testcase.yaml index b77bb0ee930..53b366c5af3 100644 --- a/tests/kernel/sched/deadline/testcase.yaml +++ b/tests/kernel/sched/deadline/testcase.yaml @@ -1,3 +1,8 @@ tests: kernel.scheduler.deadline: tags: kernel + kernel.scheduler.deadline.linker_generator: + platform_allow: qemu_cortex_m3 + tags: kernel linker_generator + extra_configs: + - CONFIG_CMAKE_LINKER_GENERATOR=y diff --git a/tests/kernel/sched/metairq/testcase.yaml b/tests/kernel/sched/metairq/testcase.yaml index cdb98863af8..267d8a5a3a2 100644 --- a/tests/kernel/sched/metairq/testcase.yaml +++ b/tests/kernel/sched/metairq/testcase.yaml @@ -3,3 +3,10 @@ tests: tags: kernel filter: not CONFIG_SMP platform_exclude: nrf52dk_nrf52810 + kernel.scheduler.metairq.linker_generator: + platform_allow: qemu_cortex_m3 + tags: kernel linker_generator + filter: not CONFIG_SMP + platform_exclude: nrf52dk_nrf52810 + extra_configs: + - CONFIG_CMAKE_LINKER_GENERATOR=y diff --git a/tests/kernel/sched/preempt/testcase.yaml b/tests/kernel/sched/preempt/testcase.yaml index 35a1cf7d830..2dc429e028f 100644 --- a/tests/kernel/sched/preempt/testcase.yaml +++ b/tests/kernel/sched/preempt/testcase.yaml @@ -3,3 +3,10 @@ tests: tags: kernel filter: not CONFIG_SMP platform_exclude: nrf52dk_nrf52810 + kernel.scheduler.preempt.linker_generator: + platform_allow: qemu_cortex_m3 + tags: kernel linker_generator + filter: not CONFIG_SMP + platform_exclude: nrf52dk_nrf52810 + extra_configs: + - CONFIG_CMAKE_LINKER_GENERATOR=y diff --git a/tests/kernel/sched/schedule_api/testcase.yaml b/tests/kernel/sched/schedule_api/testcase.yaml index a30ea631d1d..42d28d353b8 100644 --- a/tests/kernel/sched/schedule_api/testcase.yaml +++ b/tests/kernel/sched/schedule_api/testcase.yaml @@ -32,3 +32,10 @@ tests: extra_configs: - CONFIG_TIMESLICING=n tags: kernel threads sched userspace ignore_faults + kernel.scheduler.linker_generator: + platform_allow: qemu_cortex_m3 + filter: not CONFIG_SCHED_MULTIQ + extra_configs: + - CONFIG_TIMESLICING=y + - CONFIG_CMAKE_LINKER_GENERATOR=y + tags: kernel threads sched userspace ignore_faults linker_generator diff --git a/tests/kernel/smp/testcase.yaml b/tests/kernel/smp/testcase.yaml index c2dd9b075ab..f4afb10d15c 100644 --- a/tests/kernel/smp/testcase.yaml +++ b/tests/kernel/smp/testcase.yaml @@ -2,3 +2,10 @@ tests: kernel.multiprocessing.smp: tags: kernel smp ignore_faults filter: (CONFIG_MP_NUM_CPUS > 1) + kernel.multiprocessing.smp.linker_generator: + platform_allow: qemu_cortex_m3 + extra_configs: + - CONFIG_TIMESLICING=y + - CONFIG_CMAKE_LINKER_GENERATOR=y + tags: kernel smp ignore_faults linker_generator + filter: (CONFIG_MP_NUM_CPUS > 1) diff --git a/tests/kernel/timer/starve/testcase.yaml b/tests/kernel/timer/starve/testcase.yaml index 57e9e34a9c7..15b0fe6ae7f 100644 --- a/tests/kernel/timer/starve/testcase.yaml +++ b/tests/kernel/timer/starve/testcase.yaml @@ -2,3 +2,9 @@ tests: kernel.timer.starve: build_only: true tags: kernel timer + kernel.timer.starve.linker_generator: + platform_allow: qemu_cortex_m3 + build_only: true + tags: kernel timer linker_generator + extra_configs: + - CONFIG_CMAKE_LINKER_GENERATOR=y diff --git a/tests/kernel/timer/timer_monotonic/testcase.yaml b/tests/kernel/timer/timer_monotonic/testcase.yaml index 877de8d8eaf..bf44b25b450 100644 --- a/tests/kernel/timer/timer_monotonic/testcase.yaml +++ b/tests/kernel/timer/timer_monotonic/testcase.yaml @@ -1,3 +1,8 @@ tests: kernel.timer.monotonic: tags: kernel timer + kernel.timer.monotonic.linker_generator: + platform_allow: qemu_cortex_m3 + tags: kernel timer linker_generator + extra_configs: + - CONFIG_CMAKE_LINKER_GENERATOR=y diff --git a/tests/kernel/workq/critical/testcase.yaml b/tests/kernel/workq/critical/testcase.yaml index e2b7279af77..bbcb241bd55 100644 --- a/tests/kernel/workq/critical/testcase.yaml +++ b/tests/kernel/workq/critical/testcase.yaml @@ -13,3 +13,9 @@ tests: platform_allow: nsim_sem_mpu_stack_guard nsim_em_mpu_stack_guard extra_configs: - CONFIG_TEST_HW_STACK_PROTECTION=n + kernel.workqueue.linker_generator: + platform_allow: qemu_cortex_m3 + filter: not CONFIG_WDT_SAM + tags: linker_generator + extra_configs: + - CONFIG_CMAKE_LINKER_GENERATOR=y diff --git a/tests/kernel/workq/work/testcase.yaml b/tests/kernel/workq/work/testcase.yaml index 0aa7c143c89..a1dbac9fb0c 100644 --- a/tests/kernel/workq/work/testcase.yaml +++ b/tests/kernel/workq/work/testcase.yaml @@ -2,3 +2,9 @@ tests: kernel.work.api: min_flash: 34 tags: kernel + kernel.work.api.linker_generator: + platform_allow: qemu_cortex_m3 + min_flash: 34 + tags: kernel linker_generator + extra_configs: + - CONFIG_CMAKE_LINKER_GENERATOR=y diff --git a/tests/kernel/workq/work_queue/testcase.yaml b/tests/kernel/workq/work_queue/testcase.yaml index 096b3b8c156..2e88b82e212 100644 --- a/tests/kernel/workq/work_queue/testcase.yaml +++ b/tests/kernel/workq/work_queue/testcase.yaml @@ -2,3 +2,9 @@ tests: kernel.workqueue: min_flash: 34 tags: kernel + kernel.workqueue.linker_generator: + platform_allow: qemu_cortex_m3 + min_flash: 34 + tags: kernel linker_generator + extra_configs: + - CONFIG_CMAKE_LINKER_GENERATOR=y diff --git a/tests/kernel/xip/testcase.yaml b/tests/kernel/xip/testcase.yaml index 91a345460d3..467855577d3 100644 --- a/tests/kernel/xip/testcase.yaml +++ b/tests/kernel/xip/testcase.yaml @@ -2,3 +2,9 @@ tests: arch.common.xip: filter: CONFIG_XIP tags: kernel xip + arch.common.xip.linker_generator: + platform_allow: qemu_cortex_m3 + filter: CONFIG_XIP + tags: kernel xip linker_generator + extra_configs: + - CONFIG_CMAKE_LINKER_GENERATOR=y