chiark / gitweb /
libudev: enumerate - allow to filter-out not-already-initialized devices
[elogind.git] / libudev / test-libudev.c
index db08d4845f31572bc078624c10201465855ca907..f8eb8e5d5ac3f9a87eaa7a8373849b9452ecee1e 100644 (file)
@@ -242,7 +242,7 @@ static int test_monitor(struct udev *udev)
        fd = udev_monitor_get_fd(udev_monitor);
        FD_ZERO(&readfds);
 
-       while (1) {
+       for (;;) {
                struct udev_device *device;
                int fdcount;
 
@@ -329,11 +329,32 @@ static int test_enumerate(struct udev *udev, const char *subsystem)
        test_enumerate_print_list(udev_enumerate);
        udev_enumerate_unref(udev_enumerate);
 
+       printf("enumerate 'net' + duplicated scan + null + zero\n");
+       udev_enumerate = udev_enumerate_new(udev);
+       if (udev_enumerate == NULL)
+               return -1;
+       udev_enumerate_add_match_subsystem(udev_enumerate, "net");
+       udev_enumerate_scan_devices(udev_enumerate);
+       udev_enumerate_scan_devices(udev_enumerate);
+       udev_enumerate_add_syspath(udev_enumerate, "/sys/class/mem/zero");
+       udev_enumerate_add_syspath(udev_enumerate, "/sys/class/mem/null");
+       udev_enumerate_add_syspath(udev_enumerate, "/sys/class/mem/zero");
+       udev_enumerate_add_syspath(udev_enumerate, "/sys/class/mem/null");
+       udev_enumerate_add_syspath(udev_enumerate, "/sys/class/mem/zero");
+       udev_enumerate_add_syspath(udev_enumerate, "/sys/class/mem/null");
+       udev_enumerate_add_syspath(udev_enumerate, "/sys/class/mem/null");
+       udev_enumerate_add_syspath(udev_enumerate, "/sys/class/mem/zero");
+       udev_enumerate_add_syspath(udev_enumerate, "/sys/class/mem/zero");
+       udev_enumerate_scan_devices(udev_enumerate);
+       test_enumerate_print_list(udev_enumerate);
+       udev_enumerate_unref(udev_enumerate);
+
        printf("enumerate 'block'\n");
        udev_enumerate = udev_enumerate_new(udev);
        if (udev_enumerate == NULL)
                return -1;
        udev_enumerate_add_match_subsystem(udev_enumerate,"block");
+       udev_enumerate_add_match_is_initialized(udev_enumerate);
        udev_enumerate_scan_devices(udev_enumerate);
        test_enumerate_print_list(udev_enumerate);
        udev_enumerate_unref(udev_enumerate);
@@ -402,7 +423,7 @@ int main(int argc, char *argv[])
        udev_set_log_fn(udev, log_fn);
        printf("set log: %p\n", log_fn);
 
-       while (1) {
+       for (;;) {
                int option;
 
                option = getopt_long(argc, argv, "+dhV", options, NULL);