1 /* SPDX-License-Identifier: LGPL-2.1+ */
3 #include "device-enumerator-private.h"
4 #include "device-private.h"
5 #include "device-util.h"
6 #include "string-util.h"
10 static void test_sd_device_basic(void) {
11 _cleanup_(sd_device_enumerator_unrefp
) sd_device_enumerator
*e
= NULL
;
14 assert_se(sd_device_enumerator_new(&e
) >= 0);
15 assert_se(sd_device_enumerator_allow_uninitialized(e
) >= 0);
16 FOREACH_DEVICE(e
, d
) {
17 const char *syspath
, *devpath
, *subsystem
, *val
;
22 assert_se(sd_device_get_syspath(d
, &syspath
) >= 0);
24 r
= sd_device_get_subsystem(d
, &subsystem
);
25 assert_se(r
>= 0 || r
== -ENOENT
);
27 r
= sd_device_get_devtype(d
, &val
);
28 assert_se(r
>= 0 || r
== -ENOENT
);
30 r
= sd_device_get_devnum(d
, &devnum
);
31 assert_se(r
>= 0 || r
== -ENOENT
);
33 r
= sd_device_get_ifindex(d
, &i
);
34 assert_se(r
>= 0 || r
== -ENOENT
);
36 r
= sd_device_get_driver(d
, &val
);
37 assert_se(r
>= 0 || r
== -ENOENT
);
39 assert_se(sd_device_get_devpath(d
, &devpath
) >= 0);
41 r
= sd_device_get_devname(d
, &val
);
42 assert_se(r
>= 0 || r
== -ENOENT
);
44 assert_se(sd_device_get_sysname(d
, &val
) >= 0);
46 r
= sd_device_get_sysnum(d
, &val
);
47 assert_se(r
>= 0 || r
== -ENOENT
);
50 assert_se(sd_device_get_is_initialized(d
, &i
) >= 0);
52 r
= sd_device_get_usec_since_initialized(d
, &usec
);
53 assert_se(r
>= 0 || r
== -ENODATA
);
56 r
= sd_device_get_sysattr_value(d
, "name_assign_type", &val
);
57 assert_se(r
>= 0 || IN_SET(r
, -ENOENT
, -EINVAL
));
59 r
= sd_device_get_property_value(d
, "ID_NET_DRIVER", &val
);
60 assert_se(r
>= 0 || r
== -ENOENT
);
62 log_debug("syspath:%s devpath:%s subsystem:%s", syspath
, devpath
, strempty(subsystem
));
66 int main(int argc
, char **argv
) {
67 test_setup_logging(LOG_INFO
);
69 test_sd_device_basic();