chiark / gitweb /
bus: properly handle if new objects are installed in the node tree while we are dispa...
[elogind.git] / src / test / test-libudev.c
index b89d900121d9beeb99e8456aefa976477fa0ff64..9c06bc1cfd015c6cbb6b31ebca9628e6e4acde27 100644 (file)
@@ -1,13 +1,21 @@
-/*
- * test-libudev
- *
- * Copyright (C) 2008 Kay Sievers <kay.sievers@vrfy.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- */
+/***
+  This file is part of systemd.
+
+  Copyright 2008-2012 Kay Sievers <kay@vrfy.org>
+
+  systemd is free software; you can redistribute it and/or modify it
+  under the terms of the GNU Lesser General Public License as published by
+  the Free Software Foundation; either version 2.1 of the License, or
+  (at your option) any later version.
+
+  systemd is distributed in the hope that it will be useful, but
+  WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  Lesser General Public License for more details.
+
+  You should have received a copy of the GNU Lesser General Public License
+  along with systemd; If not, see <http://www.gnu.org/licenses/>.
+***/
 
 #include <stdio.h>
 #include <stdarg.h>
@@ -21,6 +29,7 @@
 #include <sys/epoll.h>
 
 #include "libudev.h"
+#include "udev-util.h"
 #include "util.h"
 
 #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
@@ -109,7 +118,7 @@ static void print_device(struct udev_device *device)
 
 static int test_device(struct udev *udev, const char *syspath)
 {
-        struct udev_device *device;
+        _cleanup_udev_device_unref_ struct udev_device *device;
 
         printf("looking at device: %s\n", syspath);
         device = udev_device_new_from_syspath(udev, syspath);
@@ -118,13 +127,13 @@ static int test_device(struct udev *udev, const char *syspath)
                 return -1;
         }
         print_device(device);
-        udev_device_unref(device);
+
         return 0;
 }
 
 static int test_device_parents(struct udev *udev, const char *syspath)
 {
-        struct udev_device *device;
+        _cleanup_udev_device_unref_ struct udev_device *device;
         struct udev_device *device_parent;
 
         printf("looking at device: %s\n", syspath);
@@ -145,7 +154,6 @@ static int test_device_parents(struct udev *udev, const char *syspath)
                 print_device(device_parent);
                 device_parent = udev_device_get_parent(device_parent);
         } while (device_parent != NULL);
-        udev_device_unref(device);
 
         return 0;
 }
@@ -421,8 +429,8 @@ static int test_enumerate(struct udev *udev, const char *subsystem)
         return 0;
 }
 
-static int test_hwdb(struct udev *udev, const char *modalias) {
-        struct udev_hwdb * hwdb;
+static void test_hwdb(struct udev *udev, const char *modalias) {
+        struct udev_hwdb *hwdb;
         struct udev_list_entry *entry;
 
         hwdb = udev_hwdb_new(udev);
@@ -432,7 +440,7 @@ static int test_hwdb(struct udev *udev, const char *modalias) {
         printf("\n");
 
         hwdb = udev_hwdb_unref(hwdb);
-        return 0;
+        assert(hwdb == NULL);
 }
 
 int main(int argc, char *argv[])