~ubuntu-branches/debian/sid/libevdev/sid

« back to all changes in this revision

Viewing changes to test/test-libevdev-events.c

  • Committer: Package Import Robot
  • Author(s): Stephen Kitt
  • Date: 2015-02-08 21:14:55 UTC
  • mfrom: (17.1.2 experimental)
  • Revision ID: package-import@ubuntu.com-20150208211455-c95tpn08z8jid57w
Tags: 1.3.2+dfsg-2
* Mark libevdev2 as Multi-Arch: same (Closes: #770294); thanks to
  Andreas Beckmann for pointing out the issue!
* Stop including timestamps in the generated documentation (they
  prevent reproducible builds).
* Upload to unstable.

Show diffs side-by-side

added added

removed removed

Lines of Context:
60
60
}
61
61
END_TEST
62
62
 
 
63
START_TEST(test_next_event_invalid_fd)
 
64
{
 
65
        struct uinput_device* uidev;
 
66
        struct libevdev *dev;
 
67
        int rc;
 
68
        struct input_event ev;
 
69
 
 
70
        libevdev_set_log_function(test_logfunc_ignore_error, NULL);
 
71
 
 
72
        dev = libevdev_new();
 
73
        rc = libevdev_next_event(dev, LIBEVDEV_READ_FLAG_NORMAL, &ev);
 
74
        ck_assert_int_eq(rc, -EBADF);
 
75
        libevdev_free(dev);
 
76
 
 
77
        test_create_device(&uidev, &dev,
 
78
                           EV_REL, REL_X,
 
79
                           EV_REL, REL_Y,
 
80
                           EV_KEY, BTN_LEFT,
 
81
                           -1);
 
82
 
 
83
        /* invalid (missing) flag */
 
84
        rc = libevdev_next_event(dev, 0x10, &ev);
 
85
        ck_assert_int_eq(rc, -EINVAL);
 
86
 
 
87
        /* set an invalid fd */
 
88
        rc = libevdev_change_fd(dev, -3);
 
89
        ck_assert_int_eq(rc, 0);
 
90
        rc = libevdev_next_event(dev, LIBEVDEV_READ_FLAG_NORMAL, &ev);
 
91
        ck_assert_int_eq(rc, -EBADF);
 
92
 
 
93
        libevdev_set_log_function(test_logfunc_abort_on_error, NULL);
 
94
 
 
95
        libevdev_free(dev);
 
96
        uinput_device_free(uidev);
 
97
}
 
98
END_TEST
 
99
 
63
100
START_TEST(test_syn_dropped_event)
64
101
{
65
102
        struct uinput_device* uidev;
342
379
}
343
380
END_TEST
344
381
 
 
382
START_TEST(test_has_event_pending_invalid_fd)
 
383
{
 
384
        struct libevdev *dev;
 
385
        int rc;
 
386
 
 
387
        libevdev_set_log_function(test_logfunc_ignore_error, NULL);
 
388
 
 
389
        dev = libevdev_new();
 
390
        rc = libevdev_has_event_pending(dev);
 
391
        ck_assert_int_eq(rc, -EBADF);
 
392
 
 
393
        libevdev_set_log_function(test_logfunc_abort_on_error, NULL);
 
394
 
 
395
        libevdev_free(dev);
 
396
}
 
397
END_TEST
 
398
 
345
399
START_TEST(test_syn_delta_button)
346
400
{
347
401
        struct uinput_device* uidev;
2066
2120
 
2067
2121
        TCase *tc = tcase_create("event polling");
2068
2122
        tcase_add_test(tc, test_next_event);
 
2123
        tcase_add_test(tc, test_next_event_invalid_fd);
2069
2124
        tcase_add_test(tc, test_syn_dropped_event);
2070
2125
        tcase_add_test(tc, test_double_syn_dropped_event);
2071
2126
        tcase_add_test(tc, test_event_type_filtered);
2072
2127
        tcase_add_test(tc, test_event_code_filtered);
2073
2128
        tcase_add_test(tc, test_has_event_pending);
 
2129
        tcase_add_test(tc, test_has_event_pending_invalid_fd);
2074
2130
        suite_add_tcase(s, tc);
2075
2131
 
2076
2132
        tc = tcase_create("SYN_DROPPED deltas");