[PATCH v2 7/7] Implement testing framework for pidns
Ákos Uzonyi
uzonyi.akos at gmail.com
Thu Jul 23 10:03:02 UTC 2020
On Wed, 22 Jul 2020 at 21:07, Dmitry V. Levin <ldv at altlinux.org> wrote:
> On Tue, Jul 21, 2020 at 11:19:25PM +0200, Ákos Uzonyi wrote:
> > * tests/pidns.c: New file.
> > * tests/pidns.h: New file.
> > * tests/Makefile.am (libtests_a_SOURCES): Add pidns.c.
> > * tests/init.sh (test_pidns, test_pidns_run_strace): New functions.
> > ---
> > tests/.gitignore | 31 ++++
> > tests/Makefile.am | 37 ++++
> > tests/fcntl--pidns-translation.c | 2 +
> > tests/fcntl-common.c | 88 +++++++---
> > tests/fcntl.c | 1 +
> > tests/fcntl64--pidns-translation.c | 2 +
> > tests/fcntl64.c | 3 +
> > tests/fork--pidns-translation.awk | 8 +
> > tests/fork--pidns-translation.c | 62 +++++++
> > tests/fork--pidns-translation.test | 14 ++
> > tests/gen_tests.in | 28 +++
> > tests/getpgrp--pidns-translation.c | 2 +
> > tests/getpgrp.c | 10 +-
> > tests/getpid--pidns-translation.c | 2 +
> > tests/getpid.c | 10 +-
> > tests/getsid--pidns-translation.c | 2 +
> > tests/getsid.c | 11 +-
> > tests/gettid--pidns-translation.c | 2 +
> > tests/gettid.c | 10 +-
> > tests/init.sh | 30 ++++
> > tests/ioctl_block--pidns-translation.c | 2 +
> > tests/ioctl_block--pidns-translation.test | 20 +++
> > tests/ioctl_block.c | 26 ++-
> > tests/ioprio--pidns-translation.c | 2 +
> > tests/ioprio.c | 56 ++++--
> > tests/kcmp-yY.c | 2 +
> > tests/kcmp.c | 13 +-
> > tests/kill--pidns-translation.c | 2 +
> > tests/kill.c | 14 +-
> > tests/migrate_pages--pidns-translation.c | 2 +
> > tests/migrate_pages.c | 13 +-
> > tests/move_pages--pidns-translation.c | 2 +
> > tests/move_pages.c | 53 ++++--
> > tests/net-sockaddr--pidns-translation.c | 2 +
> > tests/net-sockaddr.c | 68 +++++++-
> > tests/netlink_audit--pidns-translation.c | 2 +
> > tests/netlink_audit--pidns-translation.test | 13 ++
> > tests/netlink_audit.c | 13 +-
> > tests/pidfd_open--pidns-translation.c | 2 +
> > tests/pidfd_open.c | 23 ++-
> > tests/pidfd_send_signal--pidns-translation.c | 2 +
> > tests/pidfd_send_signal.c | 15 +-
> > tests/pidns.c | 162 ++++++++++++++++++
> > tests/pidns.h | 41 +++++
> > tests/prlimit64--pidns-translation.c | 2 +
> > tests/prlimit64.c | 19 +-
> > tests/process_vm_readv--pidns-translation.c | 2 +
> > tests/process_vm_readv_writev.c | 29 ++--
> > tests/process_vm_writev--pidns-translation.c | 2 +
> > tests/rt_sigqueueinfo--pidns-translation.c | 2 +
> > tests/rt_sigqueueinfo.c | 17 +-
> > tests/rt_tgsigqueueinfo--pidns-translation.c | 2 +
> > tests/rt_tgsigqueueinfo.c | 28 ++-
> > tests/sched_xetaffinity--pidns-translation.c | 2 +
> > tests/sched_xetaffinity.c | 33 ++--
> > tests/sched_xetattr--pidns-translation.c | 2 +
> > tests/sched_xetattr.c | 49 +++++-
> > tests/sched_xetparam--pidns-translation.c | 2 +
> > tests/sched_xetparam.c | 22 ++-
> > tests/sched_xetscheduler--pidns-translation.c | 2 +
> > tests/sched_xetscheduler.c | 46 +++--
> > tests/signal_receive--pidns-translation.c | 2 +
> > tests/signal_receive.c | 24 ++-
> > tests/so_peercred--pidns-translation.c | 2 +
> > tests/so_peercred.c | 24 +++
> > tests/xet_robust_list--pidns-translation.c | 2 +
> > tests/xet_robust_list.c | 20 ++-
> > tests/xetpgid--pidns-translation.c | 2 +
> > tests/xetpgid.c | 23 ++-
> > tests/xetpriority--pidns-translation.c | 2 +
> > tests/xetpriority.c | 22 ++-
> > 71 files changed, 1122 insertions(+), 167 deletions(-)
> > create mode 100644 tests/fcntl--pidns-translation.c
> > create mode 100644 tests/fcntl64--pidns-translation.c
> > create mode 100644 tests/fork--pidns-translation.awk
> > create mode 100644 tests/fork--pidns-translation.c
> > create mode 100755 tests/fork--pidns-translation.test
> > create mode 100644 tests/getpgrp--pidns-translation.c
> > create mode 100644 tests/getpid--pidns-translation.c
> > create mode 100644 tests/getsid--pidns-translation.c
> > create mode 100644 tests/gettid--pidns-translation.c
> > create mode 100644 tests/ioctl_block--pidns-translation.c
> > create mode 100755 tests/ioctl_block--pidns-translation.test
> > create mode 100644 tests/ioprio--pidns-translation.c
> > create mode 100644 tests/kcmp-yY.c
> > create mode 100644 tests/kill--pidns-translation.c
> > create mode 100644 tests/migrate_pages--pidns-translation.c
> > create mode 100644 tests/move_pages--pidns-translation.c
> > create mode 100644 tests/net-sockaddr--pidns-translation.c
> > create mode 100644 tests/netlink_audit--pidns-translation.c
> > create mode 100755 tests/netlink_audit--pidns-translation.test
> > create mode 100644 tests/pidfd_open--pidns-translation.c
> > create mode 100644 tests/pidfd_send_signal--pidns-translation.c
> > create mode 100644 tests/pidns.c
> > create mode 100644 tests/pidns.h
> > create mode 100644 tests/prlimit64--pidns-translation.c
> > create mode 100644 tests/process_vm_readv--pidns-translation.c
> > create mode 100644 tests/process_vm_writev--pidns-translation.c
> > create mode 100644 tests/rt_sigqueueinfo--pidns-translation.c
> > create mode 100644 tests/rt_tgsigqueueinfo--pidns-translation.c
> > create mode 100644 tests/sched_xetaffinity--pidns-translation.c
> > create mode 100644 tests/sched_xetattr--pidns-translation.c
> > create mode 100644 tests/sched_xetparam--pidns-translation.c
> > create mode 100644 tests/sched_xetscheduler--pidns-translation.c
> > create mode 100644 tests/signal_receive--pidns-translation.c
> > create mode 100644 tests/so_peercred--pidns-translation.c
> > create mode 100644 tests/xet_robust_list--pidns-translation.c
> > create mode 100644 tests/xetpgid--pidns-translation.c
> > create mode 100644 tests/xetpriority--pidns-translation.c
>
> For me all these new tests are failing with the following diagnostics:
> ../../tests/pidns.c:122: unshare: Operation not permitted
>
> This is most likely due to the following restrictions in that system:
> $ cat /proc/sys/kernel/userns_restrict
> 1
Oh thanks, I wasn't aware of this kind of restriction. I'll make tests
skip if unshare errors with EPERM.
More information about the Strace-devel
mailing list