From: Yu Watanabe Date: Wed, 11 May 2022 17:00:38 +0000 (+0900) Subject: test-sd-device: skip gpio subsystem X-Git-Tag: v251-rc3~4^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F23337%2Fhead;p=thirdparty%2Fsystemd.git test-sd-device: skip gpio subsystem There exist /sys/class/gpio and /sys/bus/gpio, and both have gpiochip%N device. However, these point to different devpaths. --- diff --git a/src/libsystemd/sd-device/test-sd-device.c b/src/libsystemd/sd-device/test-sd-device.c index 3bd3761f3be..5e3536be40b 100644 --- a/src/libsystemd/sd-device/test-sd-device.c +++ b/src/libsystemd/sd-device/test-sd-device.c @@ -66,7 +66,11 @@ static void test_sd_device_one(sd_device *d) { assert_se(r == -ENOENT); r = sd_device_get_subsystem(d, &subsystem); - if (r >= 0) { + if (r < 0) + assert_se(r == -ENOENT); + else if (!streq(subsystem, "gpio")) { /* Unfortunately, there exist /sys/class/gpio and /sys/bus/gpio. + * Hence, sd_device_new_from_subsystem_sysname() and + * sd_device_new_from_device_id() may not work as expected. */ const char *name, *id; if (streq(subsystem, "drivers")) @@ -102,8 +106,7 @@ static void test_sd_device_one(sd_device *d) { r = sd_device_get_property_value(d, "ID_NET_DRIVER", &val); assert_se(r >= 0 || r == -ENOENT); - } else - assert_se(r == -ENOENT); + } is_block = streq_ptr(subsystem, "block");