From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Gibson To: passt-dev@passt.top Subject: [PATCH v2 00/32] Improve handling of test temporary files Date: Thu, 08 Sep 2022 16:15:49 +1000 Message-ID: <20220908061621.2430844-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6687361031555534358==" --===============6687361031555534358== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit The tests create temporary files and fifos in a number of places. Some of them can interfere with later test runs, and are awkward to clean up. Consolidate them in a single per-run directory in /tmp which gets cleaned up automatically. This is based on the earlier userns cleanup series. Chances since v1: * Fixed a number of straightforward bugs where things were missed * Also removed files we're no longer putting into the source tree from .gitignore * Added an extra patch moving the video processing files David Gibson (32): test: Correctly match "background" with "wait" commands test: Context execution helpers test: Allow a tmux pane to watch commands executed in contexts test: Integration of old-style pane execution and new context execution test: Issue host commands via context for most tests test: Use new-style contexts for passt pane in the pasta and passt tests test: Add nsholder utility test: Extend context system to run commands in namespace for pasta tests test: Use context system for guest commands test: Use context system for two_guests tests test: Use new-style command issue for passt_in_ns tests Don't store UID & GID persistently in the context structure Split checking for root from dropping root privilege Consolidate determination of UID/GID to run as Safer handling if we can't open /proc/self/uid_map Move self-isolation code into a separate file Consolidate validation of pasta namespace options Clean up and rename conf_ns_open() Correctly handle --netns-only in pasta_start_ns() Handle userns isolation and dropping root at the same time Allow --userns when pasta spawns a command test: Group tests by context then protocol, rather than the reverse test: Remove unused variable FFMPEG_PID_FILE test: Actually run cleanup function test: Create common state directories for temporary files test: Move context temporary files to state dir test: Dont regnerate small test file in pasta/tcp test: Use paths in __STATEDIR__ instead of 'temp' and 'tempdir' directives test: Move pause temporary file to state directory test: Store pcap files in $LOGDIR instead of /tmp test: Move pidfiles and nsholder sockets into state directory test: Move video processing files to $STATEBASE .gitignore | 1 - Makefile | 8 +- conf.c | 236 +++++++------- isolation.c | 210 +++++++++++++ isolation.h | 15 + passt.1 | 5 +- passt.c | 116 +------ passt.h | 9 - pasta.c | 91 ++++-- pasta.h | 1 + test/.gitignore | 6 +- test/Makefile | 13 +- test/build/all | 31 +- test/demo/passt | 9 +- test/demo/pasta | 12 +- test/demo/podman | 11 +- test/distro/debian | 2 +- test/distro/fedora | 2 +- test/distro/opensuse | 16 +- test/distro/ubuntu | 8 +- test/lib/context | 128 ++++++++ test/lib/layout | 61 ++-- test/lib/setup | 296 +++++++++--------- test/lib/term | 98 +++++- test/lib/test | 152 ++++----- test/lib/video | 20 +- test/nsholder.c | 117 +++++++ test/passt.mbuto | 32 +- test/{dhcp/passt => passt/dhcp} | 2 +- test/{ndp/passt => passt/ndp} | 2 +- test/{shutdown/passt => passt/shutdown} | 8 +- test/{tcp/passt => passt/tcp} | 8 +- test/{udp/passt => passt/udp} | 9 +- test/{icmp/passt_in_ns => passt_in_ns/icmp} | 2 +- .../passt_in_ns => passt_in_ns/shutdown} | 8 +- test/{tcp/passt_in_ns => passt_in_ns/tcp} | 27 +- test/{udp/passt_in_ns => passt_in_ns/udp} | 13 +- test/{dhcp/pasta => pasta/dhcp} | 2 +- test/{ndp/pasta => pasta/ndp} | 2 +- test/{tcp/pasta => pasta/tcp} | 14 +- test/{udp/pasta => pasta/udp} | 21 +- test/run | 42 +-- util.c | 83 ----- util.h | 2 - 44 files changed, 1159 insertions(+), 792 deletions(-) create mode 100644 isolation.c create mode 100644 isolation.h create mode 100644 test/lib/context create mode 100644 test/nsholder.c rename test/{dhcp/passt => passt/dhcp} (98%) rename test/{ndp/passt => passt/ndp} (95%) rename test/{shutdown/passt => passt/shutdown} (75%) rename test/{tcp/passt => passt/tcp} (95%) rename test/{udp/passt => passt/udp} (88%) rename test/{icmp/passt_in_ns => passt_in_ns/icmp} (94%) rename test/{shutdown/passt_in_ns => passt_in_ns/shutdown} (75%) rename test/{tcp/passt_in_ns => passt_in_ns/tcp} (97%) rename test/{udp/passt_in_ns => passt_in_ns/udp} (97%) rename test/{dhcp/pasta => pasta/dhcp} (96%) rename test/{ndp/pasta => pasta/ndp} (95%) rename test/{tcp/pasta => pasta/tcp} (95%) rename test/{udp/pasta => pasta/udp} (74%) -- 2.37.3 --===============6687361031555534358==--