ci/unit-tests: enable dlopen note verification tests

Enable the `dlopen` unit test suite in GitHub Actions, except for the
following configurations where linker garbage collection (`--gc-sections`)
or dead-code elimination fails to drop unused dlopen symbols:

- ppc64le (both GCC and Clang)
- s390x (GCC only)
- Sanitizer-enabled setups
This commit is contained in:
Yu Watanabe
2026-07-10 16:35:19 +09:00
parent 5b05fbe53e
commit 1a08378534
2 changed files with 9 additions and 0 deletions
+6
View File
@@ -132,6 +132,12 @@ for phase in "${PHASES[@]}"; do
ninja -C build -v
# Ensure setting a timezone (like the reproducible build tests do) does not break time/date unit tests
TZ=GMT+12 meson test "${MESON_TEST_ARGS[@]}" -C build --print-errorlogs --no-stdsplit --quiet
# Linker garbage collection for unused symbols appears to be broken on ppc64le (both GCC and CLANG) or s390x (GCC).
# Skip the dlopen note verification test in those specific configurations.
if ! [[ "$(uname -m)" == "ppc64le" || ( "$(uname -m)" == "s390x" && "$phase" == "RUN_GCC" ) ]]; then
meson test -C build --suite=dlopen --print-errorlogs --no-stdsplit --quiet
fi
;;
RUN_ASAN_UBSAN|RUN_GCC_ASAN_UBSAN|RUN_CLANG_ASAN_UBSAN|RUN_CLANG_ASAN_UBSAN_NO_DEPS)
# TODO: drop after we switch to ubuntu 26.04
+3
View File
@@ -99,3 +99,6 @@ jobs:
- name: Test
run: mkosi box -- meson test -C build --print-errorlogs --no-stdsplit --quiet
- name: Test (dlopen)
run: mkosi box -- meson test -C build --print-errorlogs --no-stdsplit --quiet --suite=dlopen