summaryrefslogtreecommitdiff
path: root/tests/ioctl_evdev.c
diff options
context:
space:
mode:
authorEugene Syromyatnikov <evgsyr@gmail.com>2018-04-02 20:09:02 +0200
committerDmitry V. Levin <ldv@altlinux.org>2018-04-25 22:54:57 +0000
commit3f22d9abaee8d5401811cf8403c00a7fa2767c61 (patch)
treed0dd8b0eb5859ba6b1f74a76ec1a6b965a96b66c /tests/ioctl_evdev.c
parent2cc71623b9575498cd2fa9d495a50cbcba195e07 (diff)
downloadstrace-3f22d9abaee8d5401811cf8403c00a7fa2767c61.tar.gz
tests: add more evdev ioctl checks
tests/ioctl_evdev.c (TEST_NULL_ARG_EX): Rename from TEST_NULL_ARG, add str argument, print it instead of #cmd. (TEST_NULL_ARG): Implement as a TEST_NULL_ARG_EX wrapper. (main): Add checks for EVIOCSABS and EVIOCGBIT ioctls.
Diffstat (limited to 'tests/ioctl_evdev.c')
-rw-r--r--tests/ioctl_evdev.c27
1 files changed, 25 insertions, 2 deletions
diff --git a/tests/ioctl_evdev.c b/tests/ioctl_evdev.c
index 5645cb453..8bf23204d 100644
--- a/tests/ioctl_evdev.c
+++ b/tests/ioctl_evdev.c
@@ -42,6 +42,9 @@
# ifndef EV_SW
# define EV_SW 5
# endif
+# ifndef ABS_MT_TOOL_Y
+# define ABS_MT_TOOL_Y 0x3d
+# endif
static const unsigned int magic = 0xdeadbeef;
static const unsigned long lmagic = (unsigned long) 0xdeadbeefbadc0dedULL;
@@ -71,12 +74,14 @@ print_ffe_common(const struct ff_effect *const ffe, const char *const type_str)
# endif /* VERBOSE */
}
-# define TEST_NULL_ARG(cmd) \
+# define TEST_NULL_ARG_EX(cmd, str) \
do { \
ioctl(-1, cmd, 0); \
- printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", #cmd); \
+ printf("ioctl(-1, %s, NULL) = -1 EBADF (%m)\n", str); \
} while (0)
+# define TEST_NULL_ARG(cmd) TEST_NULL_ARG_EX(cmd, #cmd)
+
int
main(void)
{
@@ -121,6 +126,18 @@ main(void)
TEST_NULL_ARG(EVIOCGABS(ABS_X));
TEST_NULL_ARG(EVIOCSABS(ABS_X));
+ TEST_NULL_ARG_EX(EVIOCGABS(0xe), "EVIOCGABS(0xe /* ABS_??? */)");
+ TEST_NULL_ARG_EX(EVIOCSABS(0xe), "EVIOCSABS(0xe /* ABS_??? */)");
+
+ TEST_NULL_ARG(EVIOCGABS(ABS_MT_TOOL_Y));
+ TEST_NULL_ARG(EVIOCSABS(ABS_MT_TOOL_Y));
+
+ TEST_NULL_ARG_EX(EVIOCGABS(0x3e), "EVIOCGABS(0x3e /* ABS_??? */)");
+ TEST_NULL_ARG_EX(EVIOCSABS(0x3e), "EVIOCSABS(0x3e /* ABS_??? */)");
+
+ TEST_NULL_ARG_EX(EVIOCGABS(0x3f), "EVIOCGABS(0x3f /* ABS_??? */)");
+ TEST_NULL_ARG_EX(EVIOCSABS(0x3f), "EVIOCSABS(0x3f /* ABS_??? */)");
+
TEST_NULL_ARG(EVIOCGBIT(EV_SYN, 0));
TEST_NULL_ARG(EVIOCGBIT(EV_KEY, 1));
TEST_NULL_ARG(EVIOCGBIT(EV_REL, 2));
@@ -134,6 +151,12 @@ main(void)
TEST_NULL_ARG(EVIOCGBIT(EV_PWR, 10));
TEST_NULL_ARG(EVIOCGBIT(EV_FF_STATUS, 11));
+ TEST_NULL_ARG_EX(EVIOCGBIT(0x6, 12), "EVIOCGBIT(0x6 /* EV_??? */, 12)");
+ TEST_NULL_ARG_EX(EVIOCGBIT(0x18, 13),
+ "EVIOCGBIT(0x18 /* EV_??? */, 13)");
+ TEST_NULL_ARG_EX(EVIOCGBIT(0x1f, 14),
+ "EVIOCGBIT(0x1f /* EV_??? */, 14)");
+
ioctl(-1, EVIOCGBIT(EV_MAX, 42), 0);
printf("ioctl(-1, EVIOCGBIT(%#x /* EV_??? */, 42), NULL)"
" = -1 EBADF (%m)\n", EV_MAX);