From: Daan De Meyer Date: Fri, 28 Mar 2025 11:35:54 +0000 (+0100) Subject: test: Drop --no-rebuild from meson test invocations X-Git-Tag: v258-rc1~996 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=848b5ae0d19e4eb4c3d9b7c4f7a209d88ba844d7;p=thirdparty%2Fsystemd.git test: Drop --no-rebuild from meson test invocations With meson 1.7.0, meson won't rebuild the world anymore when running meson test so since meson 1.7.0 is in tumbleweed, debian testing, fedora rawhide and Arch Linux, drop --no-rebuild from the docs since all the default tools trees built by mkosi in the systemd repo will have meson 1.7.0 or newer installed. We keep --no-rebuild in CI because in CI we run with the same tools tree distribution as the target distribution we're building and in those it's not guaranteed for meson 1.7.0 to be available yet. The advantage of dropping --no-rebuild is that meson will now reconfigure itself if needed, which is required if we change or move around meson files, as otherwise meson tends to explode spectacularly in hard to debug ways. https://mesonbuild.com/Release-notes-for-1-7-0.html#test-targets-no-longer-built-by-default --- diff --git a/test/integration-tests/README.md b/test/integration-tests/README.md index a0f3be485d9..3f477dcba6d 100644 --- a/test/integration-tests/README.md +++ b/test/integration-tests/README.md @@ -38,14 +38,14 @@ directory (`OutputDirectory=`) to point to the other directory using `mkosi.loca After the image has been built, the integration tests can be run with: ```shell -$ env SYSTEMD_INTEGRATION_TESTS=1 mkosi -f sandbox -- meson test -C build --no-rebuild --suite integration-tests --num-processes "$(($(nproc) / 4))" +$ env SYSTEMD_INTEGRATION_TESTS=1 mkosi -f sandbox -- meson test -C build --suite integration-tests --num-processes "$(($(nproc) / 4))" ``` As usual, specific tests can be run in meson by appending the name of the test which is usually the name of the directory e.g. ```shell -$ env SYSTEMD_INTEGRATION_TESTS=1 mkosi -f sandbox -- meson test -C build --no-rebuild -v TEST-01-BASIC +$ env SYSTEMD_INTEGRATION_TESTS=1 mkosi -f sandbox -- meson test -C build -v TEST-01-BASIC ``` See `mkosi -f sandbox -- meson introspect build --tests` for a list of tests. @@ -55,7 +55,7 @@ To interactively debug a failing integration test, the `--interactive` option newer: ```shell -$ env SYSTEMD_INTEGRATION_TESTS=1 mkosi -f sandbox -- meson test -C build --no-rebuild -i TEST-01-BASIC +$ env SYSTEMD_INTEGRATION_TESTS=1 mkosi -f sandbox -- meson test -C build -i TEST-01-BASIC ``` Due to limitations in meson, the integration tests do not yet depend on the @@ -64,7 +64,7 @@ running the integration tests. To rebuild the image and rerun a test, the following command can be used: ```shell -$ mkosi -f sandbox -- meson compile -C build mkosi && env SYSTEMD_INTEGRATION_TESTS=1 mkosi -f sandbox -- meson test -C build --no-rebuild -v TEST-01-BASIC +$ mkosi -f sandbox -- meson compile -C build mkosi && env SYSTEMD_INTEGRATION_TESTS=1 mkosi -f sandbox -- meson test -C build -v TEST-01-BASIC ``` The integration tests use the same mkosi configuration that's used when you run @@ -78,7 +78,7 @@ To iterate on an integration test, let's first get a shell in the integration te the following: ```shell -$ mkosi -f sandbox -- meson compile -C build mkosi && env SYSTEMD_INTEGRATION_TESTS=1 TEST_SHELL=1 mkosi -f sandbox -- meson test -C build --no-rebuild -i TEST-01-BASIC +$ mkosi -f sandbox -- meson compile -C build mkosi && env SYSTEMD_INTEGRATION_TESTS=1 TEST_SHELL=1 mkosi -f sandbox -- meson test -C build -i TEST-01-BASIC ``` This will get us a shell in the integration test environment after booting the machine without running the