From f096422882c00ec631c2a69130f2eefaa6c807e1 Mon Sep 17 00:00:00 2001 From: "Dmitry V. Levin" Date: Tue, 19 Apr 2016 18:28:03 +0000 Subject: [PATCH] tests: extend test coverage of getuid/getgid family syscalls 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. --- tests/.gitignore | 8 ++++++++ tests/Makefile.am | 16 ++++++++++++++++ tests/getegid.c | 20 ++++++++++++++++++++ tests/getegid.test | 5 +++++ tests/getegid32.c | 20 ++++++++++++++++++++ tests/getegid32.test | 5 +++++ tests/geteuid.c | 20 ++++++++++++++++++++ tests/geteuid.test | 5 +++++ tests/geteuid32.c | 20 ++++++++++++++++++++ tests/geteuid32.test | 5 +++++ tests/getgid.c | 20 ++++++++++++++++++++ tests/getgid.test | 5 +++++ tests/getgid32.c | 20 ++++++++++++++++++++ tests/getgid32.test | 5 +++++ tests/getuid.c | 20 ++++++++++++++++++++ tests/getuid.test | 12 ++++++++++++ tests/getuid32.c | 20 ++++++++++++++++++++ tests/getuid32.test | 5 +++++ 18 files changed, 231 insertions(+) create mode 100644 tests/getegid.c create mode 100755 tests/getegid.test create mode 100644 tests/getegid32.c create mode 100755 tests/getegid32.test create mode 100644 tests/geteuid.c create mode 100755 tests/geteuid.test create mode 100644 tests/geteuid32.c create mode 100755 tests/geteuid32.test create mode 100644 tests/getgid.c create mode 100755 tests/getgid.test create mode 100644 tests/getgid32.c create mode 100755 tests/getgid32.test create mode 100644 tests/getuid.c create mode 100755 tests/getuid.test create mode 100644 tests/getuid32.c create mode 100755 tests/getuid32.test diff --git a/tests/.gitignore b/tests/.gitignore index f4bbe298..e8cbdf78 100644 --- a/tests/.gitignore +++ b/tests/.gitignore @@ -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 diff --git a/tests/Makefile.am b/tests/Makefile.am index 2e734bb6..7502f3f9 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -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 index 00000000..31e4b444 --- /dev/null +++ b/tests/getegid.c @@ -0,0 +1,20 @@ +#include "tests.h" +#include + +#ifdef __NR_getegid + +# include +# include + +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 index 00000000..4354158b --- /dev/null +++ b/tests/getegid.test @@ -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 index 00000000..7dc358a4 --- /dev/null +++ b/tests/getegid32.c @@ -0,0 +1,20 @@ +#include "tests.h" +#include + +#ifdef __NR_getegid32 + +# include +# include + +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 index 00000000..a266620e --- /dev/null +++ b/tests/getegid32.test @@ -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 index 00000000..08206564 --- /dev/null +++ b/tests/geteuid.c @@ -0,0 +1,20 @@ +#include "tests.h" +#include + +#ifdef __NR_geteuid + +# include +# include + +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 index 00000000..14ff6a69 --- /dev/null +++ b/tests/geteuid.test @@ -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 index 00000000..7e731d06 --- /dev/null +++ b/tests/geteuid32.c @@ -0,0 +1,20 @@ +#include "tests.h" +#include + +#ifdef __NR_geteuid32 + +# include +# include + +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 index 00000000..9dd173d9 --- /dev/null +++ b/tests/geteuid32.test @@ -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 index 00000000..46969d36 --- /dev/null +++ b/tests/getgid.c @@ -0,0 +1,20 @@ +#include "tests.h" +#include + +#ifdef __NR_getgid + +# include +# include + +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 index 00000000..f4f0c2e6 --- /dev/null +++ b/tests/getgid.test @@ -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 index 00000000..11580d0a --- /dev/null +++ b/tests/getgid32.c @@ -0,0 +1,20 @@ +#include "tests.h" +#include + +#ifdef __NR_getgid32 + +# include +# include + +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 index 00000000..3bc98d1a --- /dev/null +++ b/tests/getgid32.test @@ -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 index 00000000..25731c8b --- /dev/null +++ b/tests/getuid.c @@ -0,0 +1,20 @@ +#include "tests.h" +#include + +#ifdef __NR_getuid + +# include +# include + +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 index 00000000..9aaf74ba --- /dev/null +++ b/tests/getuid.test @@ -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 index 00000000..c6f68ae0 --- /dev/null +++ b/tests/getuid32.c @@ -0,0 +1,20 @@ +#include "tests.h" +#include + +#ifdef __NR_getuid32 + +# include +# include + +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 index 00000000..ae0c557b --- /dev/null +++ b/tests/getuid32.test @@ -0,0 +1,5 @@ +#!/bin/sh + +# Check getuid32 syscall decoding. + +. "${srcdir=.}/getuid.test" -- 2.40.0