1common:
2  tags: llext
3  platform_allow:
4    - qemu_cortex_a9          # ARM Cortex-A9 (ARMv7-A ISA)
5    - qemu_cortex_r5          # ARM Cortex-R5 (ARMv7-R ISA)
6    - qemu_cortex_a53         # ARM Cortex-A53 (ARMv8-A ISA)
7    - mps2/an385              # ARM Cortex-M3 (ARMv7-M ISA)
8    - mps2/an521/cpu0         # ARM Cortex-M33 (ARMv8-M ISA)
9    - qemu_xtensa/dc233c
10    - qemu_arc/qemu_arc_em
11  integration_platforms:
12    - qemu_arc/qemu_arc_em
13    - qemu_xtensa/dc233c
14    - mps2/an385
15    - qemu_cortex_a53
16  harness: console
17
18sample:
19  name: CONFIG_MODULES test
20  description: Call code directly and from extensions
21
22tests:
23  sample.llext.modules.module_build:
24    extra_configs:
25      - CONFIG_HELLO_WORLD_MODE=m
26      # Disabling MPU is the most compatible option. If the target supports
27      # CONFIG_USERSPACE, that should be preferred as it has many additional
28      # security benefits.
29      - arch:arm:CONFIG_ARM_MPU=n
30      - arch:arm:CONFIG_ARM_AARCH32_MMU=n
31      - arch:arc:CONFIG_ARC_MPU_ENABLE=n
32    harness_config:
33      type: one_line
34      regex:
35        - "Hello, world, from an llext!"
36  sample.llext.modules.builtin_build:
37    harness_config:
38      type: one_line
39      regex:
40        - "Hello, world, from the main binary!"
41