summaryrefslogtreecommitdiff
path: root/tests/strace--syscall-limit.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/strace--syscall-limit.c')
-rw-r--r--tests/strace--syscall-limit.c15
1 files changed, 12 insertions, 3 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