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.
This commit is contained in:
Yu Watanabe
2022-05-12 02:00:38 +09:00
parent 4d38294baf
commit fc0cbed2db

View File

@@ -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");