]> granicus.if.org Git - strace/commitdiff
tests: convert ioctl.test from match_grep to match_diff
authorDmitry V. Levin <ldv@altlinux.org>
Tue, 22 Sep 2015 21:22:37 +0000 (21:22 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Wed, 23 Sep 2015 23:29:27 +0000 (23:29 +0000)
* tests/ioctl.c (main): Print expected output.
* tests/ioctl.test: Use match_diff instead of match_grep.
* tests/ioctl.expected: Remove.
* tests/Makefile.am (EXTRA_DIST): Remove ioctl.expected.

tests/Makefile.am
tests/ioctl.c
tests/ioctl.expected [deleted file]
tests/ioctl.test

index bc1157d5b0817dbd6f45fb5da2373f5099ce187f..c52f27601f0d1e5c40cb6a93e53c89574a4d8463 100644 (file)
@@ -202,7 +202,6 @@ EXTRA_DIST = init.sh run.sh match.awk \
             filter-unavailable.expected \
             getdents.awk \
             getdents.out \
-            ioctl.expected \
             ip_mreq.expected \
             ipc.sh \
             ipc_msgbuf.expected \
index d2807f5a6b5baf7bbdba6f1bdca9878ce0b3e7ff..7f9b84ce2c94420da1b7fea56733d3ab797af2be 100644 (file)
@@ -1,7 +1,9 @@
 #ifdef HAVE_CONFIG_H
 # include "config.h"
 #endif
+
 #include <fcntl.h>
+#include <stdio.h>
 #include <stdint.h>
 #include <unistd.h>
 #include <termios.h>
@@ -30,17 +32,37 @@ int
 main(void )
 {
        struct termios tty;
-       uint64_t data;
+       uint64_t data = 0;
+
+       (void) ioctl(-1, TCGETS, &tty);
+       printf("ioctl(-1, TCGETS, %p)"
+              " = -1 EBADF (Bad file descriptor)\n", &tty);
+
+       (void) ioctl(-1, MMTIMER_GETRES, &data);
+       printf("ioctl(-1, MMTIMER_GETRES, %p)"
+              " = -1 EBADF (Bad file descriptor)\n", &data);
+
+       (void) ioctl(-1, VIDIOC_ENUMINPUT, 0);
+       printf("ioctl(-1, VIDIOC_ENUMINPUT, 0)"
+              " = -1 EBADF (Bad file descriptor)\n");
+
+       (void) ioctl(-1, HIDIOCGVERSION, &data);
+       printf("ioctl(-1, HIDIOCGRDESCSIZE or HIDIOCGVERSION, %p)"
+              " = -1 EBADF (Bad file descriptor)\n", &data);
+
+       (void) ioctl(-1, HIDIOCGPHYS(8), &data);
+       printf("ioctl(-1, HIDIOCGPHYS(8), %p)"
+              " = -1 EBADF (Bad file descriptor)\n", &data);
+
+       (void) ioctl(-1, EVIOCGBIT(EV_KEY, 8), &data);
+       printf("ioctl(-1, EVIOCGBIT(EV_KEY, 8), %p)"
+              " = -1 EBADF (Bad file descriptor)\n", &data);
 
-       if (ioctl(-1, TCGETS, &tty) != -1 ||
-           ioctl(-1, MMTIMER_GETRES, &data) != -1 ||
-           ioctl(-1, VIDIOC_ENUMINPUT, 0) != -1 ||
-           ioctl(-1, HIDIOCGVERSION, &data) != -1 ||
-           ioctl(-1, HIDIOCGPHYS(8), &data) != -1 ||
-           ioctl(-1, EVIOCGBIT(EV_KEY, 8), &data) != -1 ||
-           ioctl(-1, _IOR(0xde, 0xad, data), &data) != -1)
-               return 77;
+       (void) ioctl(-1, _IOR(0xde, 0xad, data), &data);
+       printf("ioctl(-1, _IOC(_IOC_READ, 0xde, 0xad, 0x08), %p)"
+              " = -1 EBADF (Bad file descriptor)\n", &data);
 
+       puts("+++ exited with 0 +++");
        return 0;
 }
 
diff --git a/tests/ioctl.expected b/tests/ioctl.expected
deleted file mode 100644 (file)
index 6b46685..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-ioctl\(-1, TCGETS, 0x[0-9a-f]+\) += -1 EBADF .*
-ioctl\(-1, MMTIMER_GETRES, 0x[0-9a-f]+\) += -1 EBADF .*
-ioctl\(-1, VIDIOC_ENUMINPUT, 0\) += -1 EBADF .*
-ioctl\(-1, HIDIOCGRDESCSIZE or HIDIOCGVERSION, 0x[0-9a-f]+\) += -1 EBADF .*
-ioctl\(-1, HIDIOCGPHYS\(8\), 0x[0-9a-f]+\) += -1 EBADF .*
-ioctl\(-1, EVIOCGBIT\(EV_KEY, 8\), 0x[0-9a-f]+\) += -1 EBADF .*
-ioctl\(-1, _IOC\(_IOC_READ, 0xde, 0xad, 0x08\), 0x[0-9a-f]+\) += -1 EBADF .*
index 8c2a9baae5c014dd1654d713391f1f8717b2107f..49be2f6f1505a4c2e2758a762e967d40774ca0a9 100755 (executable)
@@ -4,8 +4,10 @@
 
 . "${srcdir=.}/init.sh"
 
-run_prog
-run_strace -e ioctl $args
-match_grep
+run_prog > /dev/null
+OUT="$LOG.out"
+run_strace -a16 -e ioctl $args > "$OUT"
+match_diff "$OUT" "$LOG"
+rm -f "$OUT"
 
 exit 0