diff options
author | Ákos Uzonyi <uzonyi.akos@gmail.com> | 2020-07-11 17:29:58 +0200 |
---|---|---|
committer | Dmitry V. Levin <ldv@altlinux.org> | 2020-08-25 14:29:30 +0000 |
commit | f350ce0ffa5e25179c8c782045a8462b2946ead4 (patch) | |
tree | 3dc7be840d264c14c9ade7dc76d60d51206bc91e /tests/process_vm_readv_writev.c | |
parent | 7ecee07bbcdc54e97a6ff8e8ea84e440f2872bea (diff) | |
download | strace-AkosUzonyi/pidns.tar.gz |
Add tests for PID namespace translationAkosUzonyi/pidns
* Makefile.am (CODE_COVERAGE_IGNORE_PATTERN): Add test directories.
* tests/.gitignore: Add new test executables.
* tests/Makefile.am (check_PROGRAMS): Add new test executables.
(DECODER_TESTS) Add new test files.
(libtests_a_SOURCES): Add trie_for_tests.c, xmalloc_for_tests.c.
* tests/gen_tests.in: Add new tests.
* tests/trie_test.c: New file.
* tests/trie_for_tests.c: New file.
* tests/xmalloc_for_tests.c: New file.
* tests/pidns-cache.c: New file.
* tests/pidns-cache.test: New file.
* tests/fcntl--pidns-translation.c: New file.
* tests/fcntl64--pidns-translation.c: New file.
* tests/fork--pidns-translation.awk: New file.
* tests/fork--pidns-translation.c: New file.
* tests/fork--pidns-translation.test: New file.
* tests/getpgrp--pidns-translation.c: New file.
* tests/getpid--pidns-translation.c: New file.
* tests/getsid--pidns-translation.c: New file.
* tests/gettid--pidns-translation.c: New file.
* tests/gettid--pidns-translation.test: New file.
* tests/ioctl_block--pidns-translation.c: New file.
* tests/ioctl_block--pidns-translation.test: New file.
* tests/ioprio--pidns-translation.c: New file.
* tests/kill--pidns-translation.c: New file.
* tests/migrate_pages--pidns-translation.c: New file.
* tests/move_pages--pidns-translation.c: New file.
* tests/net-sockaddr--pidns-translation.c: New file.
* tests/netlink_audit--pidns-translation.c: New file.
* tests/netlink_audit--pidns-translation.test: New file.
* tests/pidfd_open--pidns-translation.c: New file.
* tests/pidfd_send_signal--pidns-translation.c: New file.
* tests/prlimit64--pidns-translation.c: New file.
* tests/process_vm_readv--pidns-translation.c: New file.
* tests/process_vm_writev--pidns-translation.c: New file.
* tests/rt_sigqueueinfo--pidns-translation.c: New file.
* tests/rt_tgsigqueueinfo--pidns-translation.c: New file.
* tests/sched_xetaffinity--pidns-translation.c: New file.
* tests/sched_xetattr--pidns-translation.c: New file.
* tests/sched_xetparam--pidns-translation.c: New file.
* tests/sched_xetscheduler--pidns-translation.c: New file.
* tests/signal_receive--pidns-translation.c: New file.
* tests/so_peercred--pidns-translation.c: New file.
* tests/tkill--pidns-translation.c: New file.
* tests/tgkill--pidns-translation.c: New file.
* tests/xet_robust_list--pidns-translation.c: New file.
* tests/xetpgid--pidns-translation.c: New file.
* tests/xetpriority--pidns-translation.c: New file.
* tests/fcntl-common.c: Print PID translation string after PIDs.
* tests/fcntl.c: Likewise.
* tests/fcntl64.c: Likewise.
* tests/getpgrp.c: Likewise.
* tests/getpid.c: Likewise.
* tests/getsid.c: Likewise.
* tests/gettid.c: Likewise.
* tests/ioctl_block.c: Likewise.
* tests/ioprio.c: Likewise.
* tests/kcmp.c: Likewise.
* tests/kill.c: Likewise.
* tests/migrate_pages.c: Likewise.
* tests/move_pages.c: Likewise.
* tests/net-sockaddr.c: Likewise.
* tests/netlink_audit.c: Likewise.
* tests/pidfd_open.c: Likewise.
* tests/pidfd_send_signal.c: Likewise.
* tests/prlimit64.c: Likewise.
* tests/process_vm_readv_writev.c: Likewise.
* tests/rt_sigqueueinfo.c: Likewise.
* tests/rt_tgsigqueueinfo.c: Likewise.
* tests/sched_xetaffinity.c: Likewise.
* tests/sched_xetattr.c: Likewise.
* tests/sched_xetparam.c: Likewise.
* tests/sched_xetscheduler.c: Likewise.
* tests/signal_receive.c: Likewise.
* tests/so_peercred.c: Likewise.
* tests/tgkill.c: Likewise.
* tests/tkill.c: Likewise.
* tests/xet_robust_list.c: Likewise.
* tests/xetpgid.c: Likewise.
* tests/xetpriority.c: Likewise.
Diffstat (limited to 'tests/process_vm_readv_writev.c')
-rw-r--r-- | tests/process_vm_readv_writev.c | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/tests/process_vm_readv_writev.c b/tests/process_vm_readv_writev.c index 9309135a6..44e511ddc 100644 --- a/tests/process_vm_readv_writev.c +++ b/tests/process_vm_readv_writev.c @@ -12,6 +12,7 @@ #include <stdio.h> #include <unistd.h> #include <sys/uio.h> +#include "pidns.h" #if OP_WR # define in_iovec rmt_iovec @@ -121,7 +122,7 @@ print_iov(const struct iovec *iov, const void *arg_ptr, long rc) } static void -do_call(kernel_ulong_t pid, +do_call(kernel_ulong_t pid, enum pid_type pid_type, kernel_ulong_t local_iov, const char *local_arg, kernel_ulong_t liovcnt, kernel_ulong_t remote_iov, const char *remote_arg, @@ -135,7 +136,8 @@ do_call(kernel_ulong_t pid, flags); errstr = sprintrc(rc); - printf("%s(%d, ", OP_STR, (int) pid); + pidns_print_leader(); + printf("%s(%d%s, ", OP_STR, (int) pid, pidns_pid2str(pid_type)); if (pr_iov) pr_iov((const struct iovec *) (uintptr_t) local_iov, local_arg, @@ -164,6 +166,8 @@ ptr_cast(void *ptr) int main(void) { + PIDNS_TEST_INIT; + enum { SIZE_11 = 2, SIZE_12 = 3, @@ -243,18 +247,18 @@ main(void) fill_memory_ex(data2_out, SIZE_2, SEGM2_BASE, SIZE_2); - do_call(bogus_pid, (kernel_ulong_t) (uintptr_t) ARG_STR(NULL), + do_call(bogus_pid, PT_NONE, (kernel_ulong_t) (uintptr_t) ARG_STR(NULL), bogus_iovcnt1, (kernel_ulong_t) (uintptr_t) ARG_STR(NULL), bogus_iovcnt2, bogus_flags, NULL); - do_call(my_pid, ptr_cast(bogus_iov + ARRAY_SIZE(bogus_iovec)), + do_call(my_pid, PT_TGID, ptr_cast(bogus_iov + ARRAY_SIZE(bogus_iovec)), "[]", 0, ptr_cast(in_iov + ARRAY_SIZE(in_iovec)), "[]", 0, 0, NULL); - do_call(my_pid, ptr_cast(bogus_iov + ARRAY_SIZE(bogus_iovec)), NULL, - bogus_iovcnt1, ptr_cast(in_iov + ARRAY_SIZE(in_iovec)), NULL, - bogus_iovcnt2, 0, print_iov); + do_call(my_pid, PT_TGID, ptr_cast(bogus_iov + ARRAY_SIZE(bogus_iovec)), + NULL, bogus_iovcnt1, ptr_cast(in_iov + ARRAY_SIZE(in_iovec)), + NULL, bogus_iovcnt2, 0, print_iov); - do_call(my_pid, ptr_cast(bogus_iov), (char *) &bogus_arg, + do_call(my_pid, PT_TGID, ptr_cast(bogus_iov), (char *) &bogus_arg, ARRAY_SIZE(bogus_iovec), ptr_cast(rmt_iov + 2), (char *) &rmt_arg_cut, ARRAY_SIZE(rmt_iovec) - 2, 0, print_iov); @@ -263,7 +267,7 @@ main(void) lcl_arg_cut.check_rc = 1; #endif - do_call(my_pid, ptr_cast(lcl_iov + 2), (char *) &lcl_arg_cut, + do_call(my_pid, PT_TGID, ptr_cast(lcl_iov + 2), (char *) &lcl_arg_cut, ARRAY_SIZE(lcl_iovec) - 1, ptr_cast(bogus_iov + 2), (char *) &bogus_arg_cut, ARRAY_SIZE(bogus_iovec) - 1, 0, print_iov); @@ -273,15 +277,16 @@ main(void) rmt_arg_cut.addr_term = 1; rmt_arg_cut.count = 5; - do_call(my_pid, ptr_cast(lcl_iov + 2), (char *) &lcl_arg_cut, + do_call(my_pid, PT_TGID, ptr_cast(lcl_iov + 2), (char *) &lcl_arg_cut, ARRAY_SIZE(lcl_iovec) - 2, ptr_cast(rmt_iov + 1), (char *) &rmt_arg_cut, ARRAY_SIZE(rmt_iovec), 0, print_iov); /* Correct call */ - do_call(my_pid, ptr_cast(lcl_iov), (char *) &lcl_arg, + do_call(my_pid, PT_TGID, ptr_cast(lcl_iov), (char *) &lcl_arg, ARRAY_SIZE(lcl_iovec), ptr_cast(rmt_iov), (char *) &rmt_arg, ARRAY_SIZE(rmt_iovec), 0, print_iov); + pidns_print_leader(); puts("+++ exited with 0 +++"); return 0; |