]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test-sd-device: check if /run/udev/ exists
authorLuca Boccassi <bluca@debian.org>
Mon, 24 Oct 2022 23:50:05 +0000 (00:50 +0100)
committerLuca Boccassi <bluca@debian.org>
Tue, 25 Oct 2022 14:10:15 +0000 (15:10 +0100)
When running the tests in a chroot /sys/ might be writable, but it
doesn't mean udev will be running

Assertion 'sd_event_add_inotify(event, NULL, "/run/udev" , IN_DELETE, on_inotify, NULL) >= 0' failed at src/libsystemd/sd-device/test-sd-device.c:352, function test_sd_device_enumerator_filter_subsystem(). Aborting.

src/libsystemd/sd-device/test-sd-device.c

index 6f432005e94687aab3ae78dd1e2a48f90c8f7429..4ab8b3894ae3737498c2557bcc924d92ed490254 100644 (file)
@@ -342,7 +342,7 @@ TEST(sd_device_enumerator_filter_subsystem) {
         /* The test test_sd_device_enumerator_filter_subsystem_trial() is quite racy. Let's run the function
          * several times after the udev queue becomes empty. */
 
-        if (!udev_available()) {
+        if (!udev_available() || (access("/run/udev", F_OK) < 0 && errno == ENOENT)) {
                 assert_se(test_sd_device_enumerator_filter_subsystem_trial_many());
                 return;
         }