diff options
Diffstat (limited to 'testsuite/systemtap.syscall/dir.c')
-rw-r--r-- | testsuite/systemtap.syscall/dir.c | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/testsuite/systemtap.syscall/dir.c b/testsuite/systemtap.syscall/dir.c new file mode 100644 index 00000000..3609fecd --- /dev/null +++ b/testsuite/systemtap.syscall/dir.c @@ -0,0 +1,53 @@ +/* COVERAGE: mkdir chdir open fchdir close rmdir mkdirat */ +#define _GNU_SOURCE +#include <sys/stat.h> +#include <sys/types.h> +#include <unistd.h> +#include <fcntl.h> +#include <sys/syscall.h> + +int main() +{ + int fd; + + mkdir("foobar", 0765); + // mkdir ("foobar", 0765) = + + chdir("foobar"); + // chdir ("foobar") = 0 + + chdir(".."); + // chdir ("..") = 0 + + fd = open("foobar", O_RDONLY); + // open ("foobar", O_RDONLY) = 4 + + fchdir(fd); + // fchdir (4) = 0 + + chdir(".."); + // chdir ("..") = 0 + + close(fd); + // close (4) = 0 + + rmdir("foobar"); + // rmdir ("foobar") = 0 + + fd = open(".", O_RDONLY); + // open (".", O_RDONLY) = 4 + +#ifdef SYS_mkdirat + mkdirat(fd, "xyzzy", 0765); + // mkdirat (4, "xyzzy", 0765) = 0 + +#endif + + close(fd); + // close (4) = 0 + + rmdir("xyzzy"); + // rmdir ("xyzzy") = + + return 0; +} |