From: Frantisek Sumsal Date: Tue, 22 Jun 2021 10:30:24 +0000 (+0200) Subject: test: correctly mask supporting services in tests X-Git-Tag: v249-rc2~27^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=179ca4d2b1b5579014773a128462475f99b7a91b;p=thirdparty%2Fsystemd.git test: correctly mask supporting services in tests It turns out the "supporting services" were run in _all_ tests if TEST-01-BASIC was run as the first test (which is usually the case), since with the original condition in test_create_image() we would skip the masking and then propagate the change to the default image used by other tests. This has been causing multiple bogus test timeouts (especially when the hwdb was being rebuilt in tests with short timeouts, like TEST-52-HONORFIRSTSHUTDOWN). Let's "fix" this by making the call to mask_supporting_services() uncoditional and override the test_create_image() function in TEST-01-BASIC to avoid the masking in this single case. --- diff --git a/test/TEST-01-BASIC/test.sh b/test/TEST-01-BASIC/test.sh index d42c0df9a02..5a6156d7700 100755 --- a/test/TEST-01-BASIC/test.sh +++ b/test/TEST-01-BASIC/test.sh @@ -9,6 +9,18 @@ TEST_REQUIRE_INSTALL_TESTS=0 # shellcheck source=test/test-functions . "${TEST_BASE_DIR:?}/test-functions" +# Explicitly override the default test_create_image() function to avoid the +# call to mask_supporting_services(), since we want to run them in TEST-01-BASIC +test_create_image() { + create_empty_image_rootdir + + # Create what will eventually be our root filesystem onto an overlay + ( + LOG_LEVEL=5 + setup_basic_environment + ) +} + test_append_files() { # install tests manually so the test is functional even when -Dinstall-tests=false local dst="${1:?}/usr/lib/systemd/tests/testdata/units/" diff --git a/test/test-functions b/test/test-functions index b154ace393b..eb1d99e0d15 100644 --- a/test/test-functions +++ b/test/test-functions @@ -2355,13 +2355,7 @@ test_create_image() { ( LOG_LEVEL=5 setup_basic_environment - - # We want to test all services in TEST-01-BASIC, but mask them in - # all other tests - if [[ "$TESTID" != "01" ]]; then - dinfo "Masking supporting services" - mask_supporting_services - fi + mask_supporting_services ) }