1common:
2  tags:
3    - clib
4    - c11
5    - threads
6    # For now, the implementation of C11 threads uses POSIX under the hood.
7    - posix
8  # 1 tier0 platform per supported architecture
9  platform_key:
10    - arch
11    - simulation
12  filter: not CONFIG_NATIVE_APPLICATION
13tests:
14  libraries.libc.c11_threads.minimal:
15    tags: minimal_libc
16    filter: CONFIG_MINIMAL_LIBC_SUPPORTED
17    extra_configs:
18      - CONFIG_MINIMAL_LIBC=y
19      - CONFIG_MINIMAL_LIBC_NON_REENTRANT_FUNCTIONS=y
20      - CONFIG_MINIMAL_LIBC_RAND=y
21  libraries.libc.c11_threads.picolibc:
22    filter: CONFIG_PICOLIBC_SUPPORTED
23    tags: picolibc
24    extra_configs:
25      - CONFIG_PICOLIBC=y
26  libraries.libc.c11_threads.picolibc.module:
27    filter: CONFIG_ZEPHYR_PICOLIBC_MODULE
28    tags: picolibc
29    extra_configs:
30      - CONFIG_PICOLIBC=y
31      - CONFIG_PICOLIBC_USE_MODULE=y
32      - CONFIG_THREAD_LOCAL_STORAGE=y
33  libraries.libc.c11_threads.picolibc.notls:
34    filter: CONFIG_ZEPHYR_PICOLIBC_MODULE
35    tags: picolibc
36    extra_configs:
37      - CONFIG_PICOLIBC=y
38      - CONFIG_PICOLIBC_USE_MODULE=y
39      - CONFIG_THREAD_LOCAL_STORAGE=n
40  libraries.libc.c11_threads.newlib:
41    filter: CONFIG_NEWLIB_LIBC_SUPPORTED
42    arch_exclude:
43      - posix
44    min_ram: 32
45    tags: newlib
46    extra_configs:
47      - CONFIG_NEWLIB_LIBC=y
48  libraries.libc.c11_threads.newlib_nano:
49    filter: CONFIG_NEWLIB_LIBC_SUPPORTED and CONFIG_HAS_NEWLIB_LIBC_NANO
50    tags: newlib
51    extra_configs:
52      - CONFIG_NEWLIB_LIBC=y
53      - CONFIG_NEWLIB_LIBC_NANO=y
54