zephyr/tests/lib/cpp/cxx/testcase.yaml
Krzysztof Chruściński d5637ec374 tests: lib: cpp: cxx: Filter out all ARMs from nRF54x and nRF92
Instead of extending list of unsupported platforms use filter that
will exclude or current and next ARM cores from platforms with HAL
that does not support C++98.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-01-08 19:10:24 +01:00

74 lines
2.1 KiB
YAML

common:
tags: cpp
toolchain_exclude: xcc
integration_platforms:
- mps2/an385
- qemu_cortex_a53
tests:
cpp.main.minimal:
extra_configs:
- CONFIG_MINIMAL_LIBC=y
cpp.main.newlib:
filter: TOOLCHAIN_HAS_NEWLIB == 1
min_ram: 32
extra_configs:
- CONFIG_NEWLIB_LIBC=y
cpp.main.newlib_nano:
filter: TOOLCHAIN_HAS_NEWLIB == 1 and CONFIG_HAS_NEWLIB_LIBC_NANO
min_ram: 24
extra_configs:
- CONFIG_NEWLIB_LIBC=y
- CONFIG_NEWLIB_LIBC_NANO=y
cpp.main.picolibc:
tags: picolibc
filter: CONFIG_PICOLIBC_SUPPORTED
extra_configs:
- CONFIG_PICOLIBC=y
# Note: the -std= variants below exclude the host compilers, which
# aren't part of the SDK and can't be managed as part of the test
# suite. (e.g. as of commit time the g++ used in CI didn't support
# C++20/2B and emits a command line error when presented with
# -Wno-pointer-sign or -Werror=implicit-int in C++ mode with
# -std=c++98)
cpp.main.cpp98:
arch_exclude: posix
# Exclude ARM cores from nRF54H, nRF92n and RF54L series as Nordic HAL is not
# compatible with C++98.
# Exclude CONFIG_HAS_RENESAS_RA_FSP and CONFIG_HAS_RENESAS_RZ_FSP as Renesas HALs are not
# compatible with C++98.
filter: not CONFIG_HAS_RENESAS_RA_FSP and not CONFIG_HAS_RENESAS_RZ_FSP and
not (CONFIG_CPU_CORTEX_M and (CONFIG_NRF_PLATFORM_HALTIUM or CONFIG_SOC_SERIES_NRF54LX))
build_only: true
extra_configs:
- CONFIG_STD_CPP98=y
# Note: no "cpp.main.cpp11" as that's the default standard tested above
cpp.main.cpp14:
arch_exclude: posix
build_only: true
extra_configs:
- CONFIG_STD_CPP14=y
cpp.main.cpp17:
arch_exclude: posix
build_only: true
extra_configs:
- CONFIG_STD_CPP17=y
cpp.main.cpp2A:
arch_exclude: posix
build_only: true
extra_configs:
- CONFIG_STD_CPP2A=y
cpp.main.cpp20:
arch_exclude: posix
build_only: true
extra_configs:
- CONFIG_STD_CPP20=y
cpp.main.cpp2B:
arch_exclude: posix
toolchain_exclude:
- xt-clang
build_only: true
extra_configs:
- CONFIG_STD_CPP2B=y