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 <Torsten.Rasmussen@nordicsemi.no>
This commit is contained in:
Torsten Rasmussen 2021-08-26 14:03:00 +02:00 committed by Anas Nashif
commit 2760fb9eda
30 changed files with 175 additions and 4 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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)

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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