Changes to v3: - large rework of all patches. - we still try to unshare as much as we can, but gracefully fallback to only unshare the netns. What we don't do anymore, is accept failure to unshare altogether and proceed silently. If you want that, use NFT_TEST_NO_UNSHARE=y or NFT_TEST_UNSHARE_CMD=cmd. - compared to v2, fix `nft flush` to be called inside the target netns. It's now done by "test-wrapper.sh" - add mode to run jobs in parallel. - move test-specific functionality from "run-tests.sh to "test-wrapper.sh". - collect test results in a temporary directory for later inspection. Changes to v2: - new patch: rework the parsing of command line options - new patch: add a "--list-tests" option to show the found tests - call "unshare" for each test individually. - drop NFT_TEST_ROOTLESS environment variable. You no longer have to opt-in to run rootless. However, if any tests fail and we ran rootless, then an info is printed at the end. - the environment variables NFT_TEST_HAVE_REALROOT and NFT_TEST_NO_UNSHARE can still be set to configure the script. Those are now also configurable via command line options. Usually you would not have to set them. Thomas Haller (11): tests/shell: rework command line parsing in "run-tests.sh" tests/shell: rework finding tests and add "--list-tests" option tests/shell: check test names before start and support directories tests/shell: export NFT_TEST_BASEDIR and NFT_TEST_TMPDIR for tests tests/shell: run each test in separate namespace and allow rootless tests/shell: interpret an exit code of 77 from scripts as "skipped" tests/shell: support --keep-logs option (NFT_TEST_KEEP_LOGS=y) to preserve test output tests/shell: move the dump diff handling inside "test-wrapper.sh" tests/shell: rework printing of test results tests/shell: move taint check to "test-wrapper.sh" tests/shell: support running tests in parallel tests/shell/helpers/test-wrapper.sh | 77 +++++ tests/shell/run-tests.sh | 467 ++++++++++++++++++++-------- 2 files changed, 422 insertions(+), 122 deletions(-) create mode 100755 tests/shell/helpers/test-wrapper.sh -- 2.41.0