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

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

index 8368c0f6074de9d83b3741f4db65bfae57417761..b0698fa68895fd7074767a7af3764590a22b7595 100644 (file)
@@ -148,6 +148,7 @@ sethostname
 setregid
 setregid32
 setresuid
+setresuid32
 setreuid
 setreuid32
 setuid
index ca89c14b5529909ce69c9a43494bbc9242469c57..3c3ea5b1c6620421fa7d17d90d2067d724030cc6 100644 (file)
@@ -198,6 +198,7 @@ check_PROGRAMS = \
        setregid \
        setregid32 \
        setresuid \
+       setresuid32 \
        setreuid \
        setreuid32 \
        setuid \
@@ -414,6 +415,7 @@ DECODER_TESTS = \
        setregid.test \
        setregid32.test \
        setresuid.test \
+       setresuid32.test \
        setreuid.test \
        setreuid32.test \
        setuid.test \
diff --git a/tests/setresuid32.c b/tests/setresuid32.c
new file mode 100644 (file)
index 0000000..d4187dd
--- /dev/null
@@ -0,0 +1,17 @@
+#include "tests.h"
+#include <sys/syscall.h>
+
+#ifdef __NR_setresuid32
+
+# define SYSCALL_NR    __NR_setresuid32
+# define SYSCALL_NAME  "setresuid32"
+# define UGID_TYPE     int
+# define GETUGID       geteuid()
+# define CHECK_OVERFLOWUGID(arg)
+# include "setresugid.c"
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_setresuid32")
+
+#endif
diff --git a/tests/setresuid32.test b/tests/setresuid32.test
new file mode 100755 (executable)
index 0000000..942a3a6
--- /dev/null
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check setresuid32 syscall decoding.
+
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a21