]> granicus.if.org Git - strace/commitdiff
tests: extend test coverage of getuid/getgid family syscalls
authorDmitry V. Levin <ldv@altlinux.org>
Tue, 19 Apr 2016 18:28:03 +0000 (18:28 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Wed, 20 Apr 2016 01:08:13 +0000 (01:08 +0000)
Add strict tests for getuid, getuid32, getgid, getgid32, geteuid,
geteuid32, getegid, and getegid32 syscalls.

* tests/getegid.c: New file.
* tests/getegid.test: New test.
* tests/getegid32.c: New file.
* tests/getegid32.test: New test.
* tests/geteuid.c: New file.
* tests/geteuid.test: New test.
* tests/geteuid32.c: New file.
* tests/geteuid32.test: New test.
* tests/getgid.c: New file.
* tests/getgid.test: New test.
* tests/getgid32.c: New file.
* tests/getgid32.test: New test.
* tests/getuid.c: New file.
* tests/getuid.test: New test.
* tests/getuid32.c: New file.
* tests/getuid32.test: New test.
* tests/.gitignore: Add getuid, getuid32, getgid, getgid32, geteuid,
* geteuid32, getegid, and getegid32.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(DECODER_TESTS): Add getegid.test, getegid32.test, geteuid.test,
geteuid32.test, getgid.test, getgid32.test, getuid.test,
and getuid32.test.

18 files changed:
tests/.gitignore
tests/Makefile.am
tests/getegid.c [new file with mode: 0644]
tests/getegid.test [new file with mode: 0755]
tests/getegid32.c [new file with mode: 0644]
tests/getegid32.test [new file with mode: 0755]
tests/geteuid.c [new file with mode: 0644]
tests/geteuid.test [new file with mode: 0755]
tests/geteuid32.c [new file with mode: 0644]
tests/geteuid32.test [new file with mode: 0755]
tests/getgid.c [new file with mode: 0644]
tests/getgid.test [new file with mode: 0755]
tests/getgid32.c [new file with mode: 0644]
tests/getgid32.test [new file with mode: 0755]
tests/getuid.c [new file with mode: 0644]
tests/getuid.test [new file with mode: 0755]
tests/getuid32.c [new file with mode: 0644]
tests/getuid32.test [new file with mode: 0755]

index f4bbe29856a3a765ad59fb18fccd9e540888fc58..e8cbdf785db24d58ef7d5d245eaaf1c7554c2bb3 100644 (file)
@@ -59,6 +59,12 @@ ftruncate64
 getcwd
 getdents
 getdents64
+getegid
+getegid32
+geteuid
+geteuid32
+getgid
+getgid32
 getgroups
 getgroups32
 getrandom
@@ -67,6 +73,8 @@ getresgid32
 getresuid
 getresuid32
 getrusage
+getuid
+getuid32
 getxxid
 inet-cmsg
 ioctl
index 2e734bb62eb367f8396973581281335ab766eadd..7502f3f946ee261ff4b7e999db893c1843ec3280 100644 (file)
@@ -111,6 +111,12 @@ check_PROGRAMS = \
        getcwd \
        getdents \
        getdents64 \
+       getegid \
+       getegid32 \
+       geteuid \
+       geteuid32 \
+       getgid \
+       getgid32 \
        getgroups \
        getgroups32 \
        getrandom \
@@ -119,6 +125,8 @@ check_PROGRAMS = \
        getresuid \
        getresuid32 \
        getrusage \
+       getuid \
+       getuid32 \
        getxxid \
        inet-cmsg \
        ioctl \
@@ -351,6 +359,12 @@ DECODER_TESTS = \
        getcwd.test \
        getdents.test \
        getdents64.test \
+       getegid.test \
+       getegid32.test \
+       geteuid.test \
+       geteuid32.test \
+       getgid.test \
+       getgid32.test \
        getgroups.test \
        getgroups32.test \
        getrandom.test \
@@ -359,6 +373,8 @@ DECODER_TESTS = \
        getresuid.test \
        getresuid32.test \
        getrusage.test \
+       getuid.test \
+       getuid32.test \
        getxxid.test \
        inet-cmsg.test \
        ioctl.test \
diff --git a/tests/getegid.c b/tests/getegid.c
new file mode 100644 (file)
index 0000000..31e4b44
--- /dev/null
@@ -0,0 +1,20 @@
+#include "tests.h"
+#include <sys/syscall.h>
+
+#ifdef __NR_getegid
+
+# include <stdio.h>
+# include <unistd.h>
+
+int
+main(void)
+{
+       printf("getegid() = %ld\n", syscall(__NR_getegid));
+       return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_getegid")
+
+#endif
diff --git a/tests/getegid.test b/tests/getegid.test
new file mode 100755 (executable)
index 0000000..4354158
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+# Check getegid syscall decoding.
+
+. "${srcdir=.}/getuid.test"
diff --git a/tests/getegid32.c b/tests/getegid32.c
new file mode 100644 (file)
index 0000000..7dc358a
--- /dev/null
@@ -0,0 +1,20 @@
+#include "tests.h"
+#include <sys/syscall.h>
+
+#ifdef __NR_getegid32
+
+# include <stdio.h>
+# include <unistd.h>
+
+int
+main(void)
+{
+       printf("getegid32() = %ld\n", syscall(__NR_getegid32));
+       return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_getegid32")
+
+#endif
diff --git a/tests/getegid32.test b/tests/getegid32.test
new file mode 100755 (executable)
index 0000000..a266620
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+# Check getegid32 syscall decoding.
+
+. "${srcdir=.}/getuid.test"
diff --git a/tests/geteuid.c b/tests/geteuid.c
new file mode 100644 (file)
index 0000000..0820656
--- /dev/null
@@ -0,0 +1,20 @@
+#include "tests.h"
+#include <sys/syscall.h>
+
+#ifdef __NR_geteuid
+
+# include <stdio.h>
+# include <unistd.h>
+
+int
+main(void)
+{
+       printf("geteuid() = %ld\n", syscall(__NR_geteuid));
+       return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_geteuid")
+
+#endif
diff --git a/tests/geteuid.test b/tests/geteuid.test
new file mode 100755 (executable)
index 0000000..14ff6a6
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+# Check geteuid syscall decoding.
+
+. "${srcdir=.}/getuid.test"
diff --git a/tests/geteuid32.c b/tests/geteuid32.c
new file mode 100644 (file)
index 0000000..7e731d0
--- /dev/null
@@ -0,0 +1,20 @@
+#include "tests.h"
+#include <sys/syscall.h>
+
+#ifdef __NR_geteuid32
+
+# include <stdio.h>
+# include <unistd.h>
+
+int
+main(void)
+{
+       printf("geteuid32() = %ld\n", syscall(__NR_geteuid32));
+       return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_geteuid32")
+
+#endif
diff --git a/tests/geteuid32.test b/tests/geteuid32.test
new file mode 100755 (executable)
index 0000000..9dd173d
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+# Check geteuid32 syscall decoding.
+
+. "${srcdir=.}/getuid.test"
diff --git a/tests/getgid.c b/tests/getgid.c
new file mode 100644 (file)
index 0000000..46969d3
--- /dev/null
@@ -0,0 +1,20 @@
+#include "tests.h"
+#include <sys/syscall.h>
+
+#ifdef __NR_getgid
+
+# include <stdio.h>
+# include <unistd.h>
+
+int
+main(void)
+{
+       printf("getgid() = %ld\n", syscall(__NR_getgid));
+       return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_getgid")
+
+#endif
diff --git a/tests/getgid.test b/tests/getgid.test
new file mode 100755 (executable)
index 0000000..f4f0c2e
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+# Check getgid syscall decoding.
+
+. "${srcdir=.}/getuid.test"
diff --git a/tests/getgid32.c b/tests/getgid32.c
new file mode 100644 (file)
index 0000000..11580d0
--- /dev/null
@@ -0,0 +1,20 @@
+#include "tests.h"
+#include <sys/syscall.h>
+
+#ifdef __NR_getgid32
+
+# include <stdio.h>
+# include <unistd.h>
+
+int
+main(void)
+{
+       printf("getgid32() = %ld\n", syscall(__NR_getgid32));
+       return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_getgid32")
+
+#endif
diff --git a/tests/getgid32.test b/tests/getgid32.test
new file mode 100755 (executable)
index 0000000..3bc98d1
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+# Check getgid32 syscall decoding.
+
+. "${srcdir=.}/getuid.test"
diff --git a/tests/getuid.c b/tests/getuid.c
new file mode 100644 (file)
index 0000000..25731c8
--- /dev/null
@@ -0,0 +1,20 @@
+#include "tests.h"
+#include <sys/syscall.h>
+
+#ifdef __NR_getuid
+
+# include <stdio.h>
+# include <unistd.h>
+
+int
+main(void)
+{
+       printf("getuid() = %ld\n", syscall(__NR_getuid));
+       return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_getuid")
+
+#endif
diff --git a/tests/getuid.test b/tests/getuid.test
new file mode 100755 (executable)
index 0000000..9aaf74b
--- /dev/null
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+# Check getuid syscall decoding.
+
+. "${srcdir=.}/init.sh"
+
+check_prog uniq
+run_prog > /dev/null
+run_strace -qq -a9 -e$NAME $args > "$EXP"
+uniq < "$LOG" > "$OUT"
+match_diff "$OUT" "$EXP"
+rm -f "$OUT" "$EXP"
diff --git a/tests/getuid32.c b/tests/getuid32.c
new file mode 100644 (file)
index 0000000..c6f68ae
--- /dev/null
@@ -0,0 +1,20 @@
+#include "tests.h"
+#include <sys/syscall.h>
+
+#ifdef __NR_getuid32
+
+# include <stdio.h>
+# include <unistd.h>
+
+int
+main(void)
+{
+       printf("getuid32() = %ld\n", syscall(__NR_getuid32));
+       return 0;
+}
+
+#else
+
+SKIP_MAIN_UNDEFINED("__NR_getuid32")
+
+#endif
diff --git a/tests/getuid32.test b/tests/getuid32.test
new file mode 100755 (executable)
index 0000000..ae0c557
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+# Check getuid32 syscall decoding.
+
+. "${srcdir=.}/getuid.test"