[PATCH libevdev 4/4] test: drop devnode wrapper, use proper API call now
Peter Hutterer
peter.hutterer at who-t.net
Wed Aug 14 21:12:40 PDT 2013
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
test/test-common-uinput.c | 38 ++++----------------------------------
test/test-uinput.c | 16 ++++++----------
2 files changed, 10 insertions(+), 44 deletions(-)
diff --git a/test/test-common-uinput.c b/test/test-common-uinput.c
index b8a5798..2a1776e 100644
--- a/test/test-common-uinput.c
+++ b/test/test-common-uinput.c
@@ -47,7 +47,6 @@ struct uinput_device
{
struct libevdev *d; /* lazy, it has all the accessors */
struct libevdev_uinput *uidev;
- char *devnode; /* path after creation */
int dev_fd; /* open fd to the devnode */
int uinput_fd;
};
@@ -123,7 +122,6 @@ uinput_device_free(struct uinput_device *dev)
if (dev->dev_fd != -1)
close(dev->dev_fd);
libevdev_free(dev->d);
- free(dev->devnode);
free(dev);
}
@@ -133,40 +131,12 @@ uinput_device_get_fd(const struct uinput_device *dev)
return dev->dev_fd;
}
-char* uinput_devnode_from_syspath(const char *syspath)
-{
- DIR *dir;
- struct dirent *dp;
- struct udev *udev;
- struct udev_device *udev_device;
- char *devnode = NULL;
-
- udev = udev_new();
- dir = opendir(syspath);
- while ((dp = readdir(dir)) && devnode == NULL) {
- char *path;
-
- if (strncmp(dp->d_name, "event", 5) != 0)
- continue;
-
- asprintf(&path, "%s/%s", syspath, dp->d_name);
- udev_device = udev_device_new_from_syspath(udev, path);
- devnode = strdup(udev_device_get_devnode(udev_device));
- udev_device_unref(udev_device);
- free(path);
- }
-
- closedir(dir);
- udev_unref(udev);
-
- return devnode;
-}
-
int
uinput_device_create(struct uinput_device* d)
{
int rc;
int fd;
+ const char *devnode;
fd = open("/dev/uinput", O_RDWR);
if (fd < 0)
@@ -178,11 +148,11 @@ uinput_device_create(struct uinput_device* d)
if (rc != 0)
goto error;
- d->devnode = uinput_devnode_from_syspath(libevdev_uinput_get_syspath(d->uidev));
- if (d->devnode == NULL)
+ devnode = libevdev_uinput_get_devnode(d->uidev);
+ if (devnode == NULL)
goto error;
- d->dev_fd = open(d->devnode, O_RDWR);
+ d->dev_fd = open(devnode, O_RDWR);
if (d->dev_fd == -1)
goto error;
diff --git a/test/test-uinput.c b/test/test-uinput.c
index 6186552..11e1624 100644
--- a/test/test-uinput.c
+++ b/test/test-uinput.c
@@ -39,7 +39,7 @@ START_TEST(test_uinput_create_device)
int fd, uinput_fd;
unsigned int type, code;
int rc;
- char *devnode;
+ const char *devnode;
dev = libevdev_new();
ck_assert(dev != NULL);
@@ -56,7 +56,7 @@ START_TEST(test_uinput_create_device)
uinput_fd = libevdev_uinput_get_fd(uidev);
ck_assert_int_gt(uinput_fd, -1);
- devnode = uinput_devnode_from_syspath(libevdev_uinput_get_syspath(uidev));
+ devnode = libevdev_uinput_get_devnode(uidev);
ck_assert(devnode != NULL);
fd = open(devnode, O_RDONLY);
@@ -79,7 +79,6 @@ START_TEST(test_uinput_create_device)
libevdev_free(dev2);
libevdev_uinput_destroy(uidev);
close(fd);
- free(devnode);
/* uinput fd is managed, so make sure it did get closed */
ck_assert_int_eq(close(uinput_fd), -1);
@@ -95,7 +94,7 @@ START_TEST(test_uinput_create_device_from_fd)
int fd, fd2;
unsigned int type, code;
int rc;
- char *devnode;
+ const char *devnode;
dev = libevdev_new();
ck_assert(dev != NULL);
@@ -114,7 +113,7 @@ START_TEST(test_uinput_create_device_from_fd)
ck_assert_int_eq(libevdev_uinput_get_fd(uidev), fd);
- devnode = uinput_devnode_from_syspath(libevdev_uinput_get_syspath(uidev));
+ devnode = libevdev_uinput_get_devnode(uidev);
ck_assert(devnode != NULL);
fd2 = open(devnode, O_RDONLY);
@@ -138,7 +137,6 @@ START_TEST(test_uinput_create_device_from_fd)
libevdev_uinput_destroy(uidev);
close(fd);
close(fd2);
- free(devnode);
}
END_TEST
@@ -253,7 +251,7 @@ START_TEST(test_uinput_events)
struct libevdev_uinput *uidev;
int fd, fd2;
int rc;
- char *devnode;
+ const char *devnode;
int i;
const int nevents = 5;
struct input_event events[] = { {{0, 0}, EV_REL, REL_X, 1},
@@ -280,7 +278,7 @@ START_TEST(test_uinput_events)
ck_assert_int_eq(rc, 0);
ck_assert(uidev != NULL);
- devnode = uinput_devnode_from_syspath(libevdev_uinput_get_syspath(uidev));
+ devnode = libevdev_uinput_get_devnode(uidev);
ck_assert(devnode != NULL);
fd2 = open(devnode, O_RDONLY);
@@ -297,8 +295,6 @@ START_TEST(test_uinput_events)
ck_assert_int_eq(events[i].value, events_read[i].value);
}
-
- free(devnode);
libevdev_free(dev);
libevdev_uinput_destroy(uidev);
close(fd);
--
1.8.2.1
More information about the Input-tools
mailing list