diff options
author | Dmitry V. Levin <ldv@altlinux.org> | 2020-03-31 00:49:06 +0000 |
---|---|---|
committer | Dmitry V. Levin <ldv@altlinux.org> | 2020-03-31 00:49:06 +0000 |
commit | 26f0789372e9776cef4854549bc024f7adf4aae8 (patch) | |
tree | 6c95bf032e83f4ababfb4e008aa0d90f21087458 | |
parent | 43174c73166c392146c8f8db01921cf469996842 (diff) | |
download | strace-26f0789372e9776cef4854549bc024f7adf4aae8.tar.gz |
tests: split getxxid test
getxxid used to test alpha-specific getxgid, getxuid, and getxgid
syscalls. Now each of these syscalls has its own test.
This hopefully fixes trace_creds test on alpha.
* tests/getxxid.c: Split into getxpid.c, getxuid.c, and getxgid.c.
* tests/gen_tests.in (getxxid): Remove.
(getxgid, getxpid, getxuid): New tests.
* tests/pure_executables.list: Replace getxxid with getxgid, getxpid,
and getxuid.
* tests/.gitignore: Likewise.
-rw-r--r-- | tests/.gitignore | 4 | ||||
-rw-r--r-- | tests/gen_tests.in | 4 | ||||
-rw-r--r-- | tests/getxgid.c | 31 | ||||
-rw-r--r-- | tests/getxpid.c (renamed from tests/getxxid.c) | 16 | ||||
-rw-r--r-- | tests/getxuid.c | 31 | ||||
-rwxr-xr-x | tests/pure_executables.list | 4 |
6 files changed, 75 insertions, 15 deletions
diff --git a/tests/.gitignore b/tests/.gitignore index 7eb0845d7..2e939123a 100644 --- a/tests/.gitignore +++ b/tests/.gitignore @@ -164,7 +164,9 @@ getsockname gettid getuid getuid32 -getxxid +getxgid +getxpid +getxuid group_req inet-cmsg init_module diff --git a/tests/gen_tests.in b/tests/gen_tests.in index b27ed132e..04c17b8ae 100644 --- a/tests/gen_tests.in +++ b/tests/gen_tests.in @@ -146,7 +146,9 @@ gettid -a9 getuid-creds +getuid.test getuid32 +getuid.test getuid32-creds +getuid.test -getxxid -a10 -e trace=getxpid,getxuid,getxgid +getxgid -a10 +getxpid -a10 +getxuid -a10 group_req -e trace=setsockopt inet-cmsg -e trace=recvmsg init_module -a27 diff --git a/tests/getxgid.c b/tests/getxgid.c new file mode 100644 index 000000000..18d36c829 --- /dev/null +++ b/tests/getxgid.c @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2016-2018 Dmitry V. Levin <ldv@altlinux.org> + * Copyright (c) 2016-2019 The strace developers. + * All rights reserved. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "tests.h" +#include "scno.h" + +#ifdef __NR_getxgid + +# include <stdio.h> +# include <unistd.h> + +int +main(void) +{ + long id = syscall(__NR_getxgid); + printf("getxgid() = %ld (egid %ld)\n", id, id); + + puts("+++ exited with 0 +++"); + return 0; +} + +#else + +SKIP_MAIN_UNDEFINED("__NR_getxgid") + +#endif diff --git a/tests/getxxid.c b/tests/getxpid.c index 193fcd81b..82aecc743 100644 --- a/tests/getxxid.c +++ b/tests/getxpid.c @@ -9,7 +9,7 @@ #include "tests.h" #include "scno.h" -#if defined __NR_getxpid && defined __NR_getxuid && defined __NR_getxgid +#ifdef __NR_getxpid # include <stdio.h> # include <unistd.h> @@ -17,26 +17,18 @@ int main(void) { - long id; - pid_t ppid; + long id = syscall(__NR_getxpid); + pid_t ppid = getppid(); - id = syscall(__NR_getxpid); - ppid = getppid(); printf("getxpid() = %ld (ppid %ld)\n", id, (long) ppid); printf("getxpid() = %ld (ppid %ld)\n", id, (long) ppid); - id = syscall(__NR_getxuid); - printf("getxuid() = %ld (euid %ld)\n", id, id); - - id = syscall(__NR_getxgid); - printf("getxgid() = %ld (egid %ld)\n", id, id); - puts("+++ exited with 0 +++"); return 0; } #else -SKIP_MAIN_UNDEFINED("__NR_getxpid && __NR_getxuid && __NR_getxgid") +SKIP_MAIN_UNDEFINED("__NR_getxpid") #endif diff --git a/tests/getxuid.c b/tests/getxuid.c new file mode 100644 index 000000000..09ee38428 --- /dev/null +++ b/tests/getxuid.c @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2016-2018 Dmitry V. Levin <ldv@altlinux.org> + * Copyright (c) 2016-2019 The strace developers. + * All rights reserved. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "tests.h" +#include "scno.h" + +#ifdef __NR_getxuid + +# include <stdio.h> +# include <unistd.h> + +int +main(void) +{ + long id = syscall(__NR_getxuid); + printf("getxuid() = %ld (euid %ld)\n", id, id); + + puts("+++ exited with 0 +++"); + return 0; +} + +#else + +SKIP_MAIN_UNDEFINED("__NR_getxuid") + +#endif diff --git a/tests/pure_executables.list b/tests/pure_executables.list index 161d68201..4f2fae450 100755 --- a/tests/pure_executables.list +++ b/tests/pure_executables.list @@ -124,7 +124,9 @@ getsid getsockname getuid getuid32 -getxxid +getxgid +getxpid +getxuid group_req inet-cmsg init_module |