]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test: correctly mask supporting services in tests 19990/head
authorFrantisek Sumsal <frantisek@sumsal.cz>
Tue, 22 Jun 2021 10:30:24 +0000 (12:30 +0200)
committerFrantisek Sumsal <frantisek@sumsal.cz>
Tue, 22 Jun 2021 10:34:31 +0000 (12:34 +0200)
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.

test/TEST-01-BASIC/test.sh
test/test-functions

index d42c0df9a02948f90171779d57d030d961b5772f..5a6156d77000712f84c8774312d13926e047d2d2 100755 (executable)
@@ -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/"
index b154ace393bd27c0631064737a37ef529f04c73d..eb1d99e0d15f4a502978ce8ad79ac4c7adf63088 100644 (file)
@@ -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
     )
 }