From: Yu Watanabe Date: Tue, 7 Jul 2026 12:09:48 +0000 (+0900) Subject: ci/unit-tests: enable dlopen note verification tests X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1a08378534995b0b4b14af977a08bd74d04fda0e;p=thirdparty%2Fsystemd.git 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 --- diff --git a/.github/workflows/unit-tests.sh b/.github/workflows/unit-tests.sh index f910e21691f..977d64861af 100755 --- a/.github/workflows/unit-tests.sh +++ b/.github/workflows/unit-tests.sh @@ -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 diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index b8599a80409..ff95d77c29f 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -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