diff options
-rw-r--r-- | tests/strace--syscall-limit.c | 15 | ||||
-rwxr-xr-x | tests/strace--syscall-limit.test | 2 |
2 files changed, 13 insertions, 4 deletions
diff --git a/tests/strace--syscall-limit.c b/tests/strace--syscall-limit.c index 590ba6623..260337d49 100644 --- a/tests/strace--syscall-limit.c +++ b/tests/strace--syscall-limit.c @@ -8,8 +8,10 @@ */ #include "tests.h" +#include "scno.h" #include <errno.h> +#include <fcntl.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> @@ -60,10 +62,17 @@ test_chdir(int pid, bool print) static void test_rmdir(int pid, bool print) { - if (rmdir(invalid_path) == 0) - error_msg_and_fail("rmdir: %s", invalid_path); +#ifndef AT_FDCWD +# define AT_FDCWD -100 +#endif +#ifndef AT_REMOVEDIR +# define AT_REMOVEDIR 0x200 +#endif + if (syscall(__NR_unlinkat, AT_FDCWD, "invalid.dir", AT_REMOVEDIR) == 0) + error_msg_and_fail("unlinkat: %s", invalid_path); if (print) - printf("%-5u rmdir(\"%s\") = %s\n", pid, invalid_path, sprintrc(-1)); + printf("%-5u unlinkat(AT_FDCWD, \"%s\", AT_REMOVEDIR) = %s\n", + pid, invalid_path, sprintrc(-1)); } int diff --git a/tests/strace--syscall-limit.test b/tests/strace--syscall-limit.test index 410c24a3d..bcc4a9545 100755 --- a/tests/strace--syscall-limit.test +++ b/tests/strace--syscall-limit.test @@ -10,7 +10,7 @@ . "${srcdir=.}/init.sh" prog_args="../$NAME" -set -- --syscall-limit=3 --trace='chdir,rmdir' "$@" +set -- --syscall-limit=3 --trace='chdir,unlinkat' "$@" run_prog > /dev/null echo 0 > exp_status |