]> granicus.if.org Git - strace/commitdiff
tests: extend test coverage of setreuid32 syscall
authorDmitry V. Levin <ldv@altlinux.org>
Mon, 18 Apr 2016 14:36:42 +0000 (14:36 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Wed, 20 Apr 2016 01:08:12 +0000 (01:08 +0000)
* tests/setreuid32.c: New file.
* tests/setreuid32.test: New test.
* tests/.gitignore: Add setreuid32.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(DECODER_TESTS): Add setreuid32.test.

tests/.gitignore
tests/Makefile.am
tests/setreuid32.c [new file with mode: 0644]
tests/setreuid32.test [new file with mode: 0755]

index 14cd662ddff293c0af712daae649d5de460193f9..97e27bb00f92bc0e1a94394ae63988dc544f6edc 100644 (file)
@@ -146,6 +146,7 @@ setgid
 setgid32
 sethostname
 setreuid
+setreuid32
 setuid
 setuid32
 shmxt
index d7297d4fe242765fbd374156a3e67d7f97faefa4..7b5fe23aac30d01d7b015797f57740709c8dab03 100644 (file)
@@ -196,6 +196,7 @@ check_PROGRAMS = \
        setgid32 \
        sethostname \
        setreuid \
+       setreuid32 \
        setuid \
        setuid32 \
        shmxt \
@@ -408,6 +409,7 @@ DECODER_TESTS = \
        setgid32.test \
        sethostname.test \
        setreuid.test \
+       setreuid32.test \
        setuid.test \
        setuid32.test \
        shmxt.test \
diff --git a/tests/setreuid32.c b/tests/setreuid32.c
new file mode 100644 (file)
index 0000000..43b7b91
--- /dev/null
@@ -0,0 +1,17 @@
+#include "tests.h"
+#include <sys/syscall.h>
+
+#ifdef __NR_setreuid32
+
+# define SYSCALL_NR    __NR_setreuid32
+# define SYSCALL_NAME  "setreuid32"
+# define UGID_TYPE     int
+# define GETUGID       geteuid()
+# define CHECK_OVERFLOWUGID(arg)
+# include "setreugid.c"
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_setreuid32")
+
+#endif
diff --git a/tests/setreuid32.test b/tests/setreuid32.test
new file mode 100755 (executable)
index 0000000..23323d4
--- /dev/null
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check setreuid32 syscall decoding.
+
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a17