Skip to content

Commit

Permalink
tests: added kernel tests for arm arch with linker script generator
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
tejlmand committed Aug 30, 2021
1 parent 7eb670c commit 14b6ea7
Show file tree
Hide file tree
Showing 30 changed files with 175 additions and 4 deletions.
5 changes: 5 additions & 0 deletions tests/kernel/context/testcase.yaml
Original file line number Diff line number Diff line change
@@ -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
5 changes: 5 additions & 0 deletions tests/kernel/early_sleep/testcase.yaml
Original file line number Diff line number Diff line change
@@ -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
5 changes: 5 additions & 0 deletions tests/kernel/fifo/fifo_api/testcase.yaml
Original file line number Diff line number Diff line change
@@ -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
5 changes: 5 additions & 0 deletions tests/kernel/fifo/fifo_timeout/testcase.yaml
Original file line number Diff line number Diff line change
@@ -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
5 changes: 5 additions & 0 deletions tests/kernel/fifo/fifo_usage/testcase.yaml
Original file line number Diff line number Diff line change
@@ -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
14 changes: 11 additions & 3 deletions tests/kernel/gen_isr_table/testcase.yaml
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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
Expand Down
7 changes: 7 additions & 0 deletions tests/kernel/interrupt/testcase.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
5 changes: 5 additions & 0 deletions tests/kernel/lifo/lifo_api/testcase.yaml
Original file line number Diff line number Diff line change
@@ -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
7 changes: 7 additions & 0 deletions tests/kernel/lifo/lifo_usage/testcase.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
5 changes: 5 additions & 0 deletions tests/kernel/mbox/mbox_api/testcase.yaml
Original file line number Diff line number Diff line change
@@ -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
5 changes: 5 additions & 0 deletions tests/kernel/mbox/mbox_usage/testcase.yaml
Original file line number Diff line number Diff line change
@@ -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
5 changes: 5 additions & 0 deletions tests/kernel/mem_heap/k_heap_api/testcase.yaml
Original file line number Diff line number Diff line change
@@ -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
6 changes: 6 additions & 0 deletions tests/kernel/mem_heap/mheap_api_concept/testcase.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
5 changes: 5 additions & 0 deletions tests/kernel/mem_slab/mslab/testcase.yaml
Original file line number Diff line number Diff line change
@@ -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
6 changes: 5 additions & 1 deletion tests/kernel/mem_slab/mslab_api/testcase.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
5 changes: 5 additions & 0 deletions tests/kernel/mem_slab/mslab_concept/testcase.yaml
Original file line number Diff line number Diff line change
@@ -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
5 changes: 5 additions & 0 deletions tests/kernel/mem_slab/mslab_threadsafe/testcase.yaml
Original file line number Diff line number Diff line change
@@ -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
6 changes: 6 additions & 0 deletions tests/kernel/mp/testcase.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
5 changes: 5 additions & 0 deletions tests/kernel/msgq/msgq_usage/testcase.yaml
Original file line number Diff line number Diff line change
@@ -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
5 changes: 5 additions & 0 deletions tests/kernel/sched/deadline/testcase.yaml
Original file line number Diff line number Diff line change
@@ -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
7 changes: 7 additions & 0 deletions tests/kernel/sched/metairq/testcase.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
7 changes: 7 additions & 0 deletions tests/kernel/sched/preempt/testcase.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
7 changes: 7 additions & 0 deletions tests/kernel/sched/schedule_api/testcase.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
7 changes: 7 additions & 0 deletions tests/kernel/smp/testcase.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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)
6 changes: 6 additions & 0 deletions tests/kernel/timer/starve/testcase.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
5 changes: 5 additions & 0 deletions tests/kernel/timer/timer_monotonic/testcase.yaml
Original file line number Diff line number Diff line change
@@ -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
6 changes: 6 additions & 0 deletions tests/kernel/workq/critical/testcase.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
6 changes: 6 additions & 0 deletions tests/kernel/workq/work/testcase.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
6 changes: 6 additions & 0 deletions tests/kernel/workq/work_queue/testcase.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
6 changes: 6 additions & 0 deletions tests/kernel/xip/testcase.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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

0 comments on commit 14b6ea7

Please sign in to comment.