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

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

index f5cfb65916eb43f27bdd73e8b3df3e6205b6d9d9..02ea5b0d37d53c30b0dc6986e37626a981aaea5d 100644 (file)
@@ -146,6 +146,7 @@ setgid
 setgid32
 sethostname
 setregid
+setregid32
 setreuid
 setreuid32
 setuid
index c0b14033216d30f9237e0baa39ce11c20c401b11..95d75a8ebdb774b26cff1b1788a1793848b90ade 100644 (file)
@@ -196,6 +196,7 @@ check_PROGRAMS = \
        setgid32 \
        sethostname \
        setregid \
+       setregid32 \
        setreuid \
        setreuid32 \
        setuid \
@@ -410,6 +411,7 @@ DECODER_TESTS = \
        setgid32.test \
        sethostname.test \
        setregid.test \
+       setregid32.test \
        setreuid.test \
        setreuid32.test \
        setuid.test \
diff --git a/tests/setregid32.c b/tests/setregid32.c
new file mode 100644 (file)
index 0000000..0d0ebed
--- /dev/null
@@ -0,0 +1,17 @@
+#include "tests.h"
+#include <sys/syscall.h>
+
+#ifdef __NR_setregid32
+
+# define SYSCALL_NR    __NR_setregid32
+# define SYSCALL_NAME  "setregid32"
+# define UGID_TYPE     int
+# define GETUGID       getegid()
+# define CHECK_OVERFLOWUGID(arg)
+# include "setreugid.c"
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_setregid32")
+
+#endif
diff --git a/tests/setregid32.test b/tests/setregid32.test
new file mode 100755 (executable)
index 0000000..e57e66c
--- /dev/null
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Check setregid32 syscall decoding.
+
+. "${srcdir=.}/init.sh"
+run_strace_match_diff -a17