summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Syromyatnikov <evgsyr@gmail.com>2020-03-05 09:17:08 +0100
committerEugene Syromyatnikov <evgsyr@gmail.com>2020-03-23 13:32:14 +0100
commitd3045f613b689b7f6dbaa8c3acb2ba0f316ea356 (patch)
treefe5efe69dbe3153cfb38ac90412ec048e9c8a856
parentdcc6a5d527316766615450af9e17fa5646d6e034 (diff)
downloadstrace-d3045f613b689b7f6dbaa8c3acb2ba0f316ea356.tar.gz
tests: add V4L2 tests with FD decoding enabled
-rw-r--r--tests/.gitignore4
-rw-r--r--tests/Makefile.am4
-rw-r--r--tests/gen_tests.in4
-rw-r--r--tests/ioctl_v4l2-success-v-y-Xabbrev.c2
-rw-r--r--tests/ioctl_v4l2-success-v-y-Xraw.c2
-rw-r--r--tests/ioctl_v4l2-success-v-y-Xverbose.c2
-rw-r--r--tests/ioctl_v4l2-success-v-y.c3
-rw-r--r--tests/ioctl_v4l2-success.c7
-rwxr-xr-xtests/ioctl_v4l2-success.test2
9 files changed, 29 insertions, 1 deletions
diff --git a/tests/.gitignore b/tests/.gitignore
index 95430faa9..a3d24729a 100644
--- a/tests/.gitignore
+++ b/tests/.gitignore
@@ -234,6 +234,10 @@ ioctl_v4l2-success-v
ioctl_v4l2-success-v-Xabbrev
ioctl_v4l2-success-v-Xraw
ioctl_v4l2-success-v-Xverbose
+ioctl_v4l2-success-v-y
+ioctl_v4l2-success-v-y-Xabbrev
+ioctl_v4l2-success-v-y-Xraw
+ioctl_v4l2-success-v-y-Xverbose
ioctl_watchdog
ioperm
iopl
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 5e12d1724..337bd532f 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -138,6 +138,10 @@ check_PROGRAMS = $(PURE_EXECUTABLES) \
ioctl_v4l2-success-v-Xabbrev \
ioctl_v4l2-success-v-Xraw \
ioctl_v4l2-success-v-Xverbose \
+ ioctl_v4l2-success-v-y \
+ ioctl_v4l2-success-v-y-Xabbrev \
+ ioctl_v4l2-success-v-y-Xraw \
+ ioctl_v4l2-success-v-y-Xverbose \
is_linux_mips_n64 \
kill_child \
ksysent \
diff --git a/tests/gen_tests.in b/tests/gen_tests.in
index dbec8901b..80c4c590d 100644
--- a/tests/gen_tests.in
+++ b/tests/gen_tests.in
@@ -210,6 +210,10 @@ ioctl_v4l2-success-v +ioctl_v4l2-success.test -a29 -v
ioctl_v4l2-success-v-Xabbrev +ioctl_v4l2-success.test -a29 -v -Xabbrev
ioctl_v4l2-success-v-Xraw +ioctl_v4l2-success.test -a27 -v -Xraw
ioctl_v4l2-success-v-Xverbose +ioctl_v4l2-success.test -a29 -v -Xverbose
+ioctl_v4l2-success-v-y +ioctl_v4l2-success.test -a29 -v -y
+ioctl_v4l2-success-v-y-Xabbrev +ioctl_v4l2-success.test -a29 -v -y -Xabbrev
+ioctl_v4l2-success-v-y-Xraw +ioctl_v4l2-success.test -a27 -v -y -Xraw
+ioctl_v4l2-success-v-y-Xverbose +ioctl_v4l2-success.test -a29 -v -y -Xverbose
ioctl_watchdog +ioctl.test
ioperm -a27
iopl -a8
diff --git a/tests/ioctl_v4l2-success-v-y-Xabbrev.c b/tests/ioctl_v4l2-success-v-y-Xabbrev.c
new file mode 100644
index 000000000..d77222758
--- /dev/null
+++ b/tests/ioctl_v4l2-success-v-y-Xabbrev.c
@@ -0,0 +1,2 @@
+#define XLAT_ABBREV 1
+#include "ioctl_v4l2-success-v-y.c"
diff --git a/tests/ioctl_v4l2-success-v-y-Xraw.c b/tests/ioctl_v4l2-success-v-y-Xraw.c
new file mode 100644
index 000000000..8c5a688b5
--- /dev/null
+++ b/tests/ioctl_v4l2-success-v-y-Xraw.c
@@ -0,0 +1,2 @@
+#define XLAT_RAW 1
+#include "ioctl_v4l2-success-v-y.c"
diff --git a/tests/ioctl_v4l2-success-v-y-Xverbose.c b/tests/ioctl_v4l2-success-v-y-Xverbose.c
new file mode 100644
index 000000000..529ce7096
--- /dev/null
+++ b/tests/ioctl_v4l2-success-v-y-Xverbose.c
@@ -0,0 +1,2 @@
+#define XLAT_VERBOSE 1
+#include "ioctl_v4l2-success-v-y.c"
diff --git a/tests/ioctl_v4l2-success-v-y.c b/tests/ioctl_v4l2-success-v-y.c
new file mode 100644
index 000000000..0393c14b7
--- /dev/null
+++ b/tests/ioctl_v4l2-success-v-y.c
@@ -0,0 +1,3 @@
+#define PRINT_PATHS 1
+#define FD0_PATH "</dev/full>"
+#include "ioctl_v4l2-success-v.c"
diff --git a/tests/ioctl_v4l2-success.c b/tests/ioctl_v4l2-success.c
index a57d5a67d..eb590e9c8 100644
--- a/tests/ioctl_v4l2-success.c
+++ b/tests/ioctl_v4l2-success.c
@@ -17,6 +17,13 @@
#include <sys/ioctl.h>
+#ifndef PRINT_PATHS
+# define PRINT_PATHS 0
+#endif
+#ifndef FD0_PATH
+# define FD0_PATH ""
+#endif
+
static bool
fill_fmt(struct v4l2_format *f)
{
diff --git a/tests/ioctl_v4l2-success.test b/tests/ioctl_v4l2-success.test
index fb84e9c67..e350f661e 100755
--- a/tests/ioctl_v4l2-success.test
+++ b/tests/ioctl_v4l2-success.test
@@ -18,7 +18,7 @@ for ret in 42; do
run_strace -a29 "$@" -e trace=ioctl \
-e inject=ioctl:retval="${ret}":when="${IOCTL_INJECT_START}+" \
"$prog" \
- "${IOCTL_INJECT_START}" "${ret}"> "$EXP.${ret}"
+ "${IOCTL_INJECT_START}" "${ret}" < /dev/full > "$EXP.${ret}"
grep -v '^ioctl([012][,<]' < "$LOG" > "$OUT.$ret"
match_diff "$OUT.$ret" "$EXP.$ret"
done