summaryrefslogtreecommitdiff
path: root/tests/process_vm_readv_writev.c
diff options
context:
space:
mode:
authorÁkos Uzonyi <uzonyi.akos@gmail.com>2020-07-11 17:29:58 +0200
committerDmitry V. Levin <ldv@altlinux.org>2020-08-25 14:29:30 +0000
commitf350ce0ffa5e25179c8c782045a8462b2946ead4 (patch)
tree3dc7be840d264c14c9ade7dc76d60d51206bc91e /tests/process_vm_readv_writev.c
parent7ecee07bbcdc54e97a6ff8e8ea84e440f2872bea (diff)
downloadstrace-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.c27
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;