From: Dmitry V. Levin Date: Mon, 18 Apr 2016 13:45:36 +0000 (+0000) Subject: tests: extend test coverage of setgid syscall X-Git-Tag: v4.12~410 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=cf273016fe7905925212f0f459f431dc7d45a2c3;p=strace tests: extend test coverage of setgid syscall * tests/setgid.c: New file. * tests/setgid.test: New test. * tests/.gitignore: Add setgid. * tests/Makefile.am (check_PROGRAMS): Likewise. (DECODER_TESTS): Add setgid.test. --- diff --git a/tests/.gitignore b/tests/.gitignore index 3c37023d..b7b9df74 100644 --- a/tests/.gitignore +++ b/tests/.gitignore @@ -142,6 +142,7 @@ semop sendfile sendfile64 set_ptracer_any +setgid sethostname setuid setuid32 diff --git a/tests/Makefile.am b/tests/Makefile.am index 592c2b76..4c51f575 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -192,6 +192,7 @@ check_PROGRAMS = \ sendfile \ sendfile64 \ set_ptracer_any \ + setgid \ sethostname \ setuid \ setuid32 \ @@ -401,6 +402,7 @@ DECODER_TESTS = \ semop.test \ sendfile.test \ sendfile64.test \ + setgid.test \ sethostname.test \ setuid.test \ setuid32.test \ diff --git a/tests/setgid.c b/tests/setgid.c new file mode 100644 index 00000000..aa3f8987 --- /dev/null +++ b/tests/setgid.c @@ -0,0 +1,25 @@ +#include "tests.h" +#include + +#ifdef __NR_setgid + +# define SYSCALL_NR __NR_setgid +# define SYSCALL_NAME "setgid" + +# if defined __NR_setgid32 && __NR_setgid != __NR_setgid32 +# 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 "setugid.c" + +#else + +SKIP_MAIN_UNDEFINED("__NR_setgid") + +#endif diff --git a/tests/setgid.test b/tests/setgid.test new file mode 100755 index 00000000..a3a90041 --- /dev/null +++ b/tests/setgid.test @@ -0,0 +1,6 @@ +#!/bin/sh + +# Check setgid syscall decoding. + +. "${srcdir=.}/init.sh" +run_strace_match_diff -a10