strace/tests/dup2.c
Fei Jie ab917ae5af tests: add dup.test, dup2.test, and dup3.test
* tests/dup.c: New file.
* tests/dup.test: New test.
* tests/dup2.c: New file.
* tests/dup2.test: New test.
* tests/dup3.c: New file.
* tests/dup3.test: New test.
* tests/.gitignore: Add dup, dup2, and dup3.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(TESTS): Add dup.test, dup2.test, and dup3.test.
2016-03-10 02:41:31 +00:00

29 lines
521 B
C

#include "tests.h"
#include <sys/syscall.h>
#ifdef __NR_dup2
# include <errno.h>
# include <stdio.h>
# include <unistd.h>
int
main(void)
{
const long int fd_old = (long int) 0xdeadbeefffffffff;
const long int fd_new = (long int) 0xdeadbeeffffffffe;
int rc = syscall(__NR_dup2, fd_old, fd_new);
printf("dup2(%d, %d) = %d %s (%m)\n",
(int) fd_old, (int) fd_new, rc,
errno == ENOSYS ? "ENOSYS" : "EBADF");
puts("+++ exited with 0 +++");
return 0;
}
#else
SKIP_MAIN_UNDEFINED("__NR_dup2")
#endif