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

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

index 97e27bb00f92bc0e1a94394ae63988dc544f6edc..f5cfb65916eb43f27bdd73e8b3df3e6205b6d9d9 100644 (file)
@@ -145,6 +145,7 @@ set_ptracer_any
 setgid
 setgid32
 sethostname
+setregid
 setreuid
 setreuid32
 setuid
index 7b5fe23aac30d01d7b015797f57740709c8dab03..c0b14033216d30f9237e0baa39ce11c20c401b11 100644 (file)
@@ -195,6 +195,7 @@ check_PROGRAMS = \
        setgid \
        setgid32 \
        sethostname \
+       setregid \
        setreuid \
        setreuid32 \
        setuid \
@@ -408,6 +409,7 @@ DECODER_TESTS = \
        setgid.test \
        setgid32.test \
        sethostname.test \
+       setregid.test \
        setreuid.test \
        setreuid32.test \
        setuid.test \
diff --git a/tests/setregid.c b/tests/setregid.c
new file mode 100644 (file)
index 0000000..6efa388
--- /dev/null
@@ -0,0 +1,25 @@
+#include "tests.h"
+#include <sys/syscall.h>
+
+#ifdef __NR_setregid
+
+# define SYSCALL_NR    __NR_setregid
+# define SYSCALL_NAME  "setregid"
+
+# if defined __NR_setregid32 && __NR_setregid != __NR_setregid32
+#  define UGID_TYPE    short
+#  define GETUGID      syscall(__NR_getegid)
+#  define CHECK_OVERFLOWUGID(arg)      check_overflowgid(arg)
+# else
+#  define UGID_TYPE    int
+#  define GETUGID      getegid()
+#  define CHECK_OVERFLOWUGID(arg)
+# endif
+
+# include "setreugid.c"
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_setregid")
+
+#endif
diff --git a/tests/setregid.test b/tests/setregid.test
new file mode 100755 (executable)
index 0000000..101c7bd
--- /dev/null
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check setregid syscall decoding.
+
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a15