automation-tests/hack
Ed Santiago d571ca6536 system test parallelization: enable two-pass approach
For the past two months we've been splitting system tests
into two categories: those that CAN be run in parallel,
and those that CANNOT. Much work has been done to replace
hardcoded names (mycontainer, mypod) with safename().
Hundreds of test runs, in CI and on Ed's laptop, have
proven this approach viable.

make {local,remote}system now runs in two steps: first
the serial ones, then the parallel ones. hack/bats will
now recognize the 'ci:parallel' tag and add --jobs (nprocs).

This requires some tweaking of leak_check, because there
can be umpteen tests running (affecting image/container/pod/etc
state) when any given test completes.

Rules for enabling parallelization in tests:

   * use unique container/pod/volume/network names (safename)
   * do not run 'podman rm -a' or 'rmi -a'
   * never use the -l (--latest) option
   * do not run 'podman ps/images' and expect precise output

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-09-17 09:25:02 -06:00
..
perf hack/perf/system-df.sh: add `df` benchmarks 2023-08-23 14:17:27 +02:00
podman-registry-go Bump Go module to v5 2024-02-08 09:35:39 -05:00
apparmor_tag.sh Use `bash` binary from env instead of /bin/bash for scripts 2020-08-17 10:42:23 +02:00
bats system test parallelization: enable two-pass approach 2024-09-17 09:25:02 -06:00
branch_commits.rb Add script for identifying commits in release branches 2021-05-17 16:40:35 -04:00
btrfs_installed_tag.sh Use CPP, CC and flags in dep check scripts 2020-11-06 10:44:27 +01:00
btrfs_tag.sh Use CPP, CC and flags in dep check scripts 2020-11-06 10:44:27 +01:00
buildah-vendor-treadmill buildah treadmill: cleaner YAML, uglier script 2023-12-07 17:55:16 -07:00
check_root.sh Cleanup: fix problems reported by shell lint 2022-09-15 20:10:34 -06:00
fork_exec_snoop.bt Add eBPF snooper that traces the entire fork/exec graph of podman 2023-04-20 11:30:47 +02:00
get_ci_vm.sh Cirrus: Support EC2 instances in hack/get_ci_vm.sh 2022-08-03 14:25:09 -04:00
golangci-lint.sh golangci-lint: make windows linting happy 2024-08-19 11:41:29 +02:00
install_catatonit.sh cirrus: force-install catatonit 2021-11-15 12:53:25 +01:00
install_golangci.sh CI: retry the golangci install 2023-03-27 10:53:17 -06:00
libdm_tag.sh Use CPP, CC and flags in dep check scripts 2020-11-06 10:44:27 +01:00
libsubid_tag.sh Fix libsubid detection 2022-09-23 09:58:39 +01:00
make-and-check-size Fix size-check to display more context 2022-04-21 14:07:20 -04:00
man-page-checker add a podman-compose command 2023-07-24 19:23:04 +02:00
man-page-table-check Man pages: fix broken tables 2023-05-26 06:08:14 -06:00
markdown-preprocess make hack/markdown-preprocess parallel-safe 2023-02-02 05:32:38 -07:00
markdown-preprocess-review Man pages: refactor common options: cert-dir 2022-08-22 05:52:20 -06:00
markdown-preprocess.t markdown-preprocess: almost complete OO rewrite 2022-10-13 15:56:52 -06:00
podman-commands.sh Add shell completion with cobra 2020-11-12 11:38:31 +01:00
podman-registry CI: use local registry, part 2 of 3: fix tests 2024-07-11 04:39:45 -06:00
podman-socat Use url with scheme and path for the unix address 2023-09-11 07:55:12 +02:00
podmansnoop chore(podmansnoop): explain why crun comm is 3 2024-08-09 10:57:59 +02:00
podmanv2-retry Use `bash` binary from env instead of /bin/bash for scripts 2020-08-17 10:42:23 +02:00
swagger-check switch from "kube/play" endpoint to "play/kube" endpoint. 2022-08-02 12:09:59 +01:00
systemd_tag.sh Use CPP, CC and flags in dep check scripts 2020-11-06 10:44:27 +01:00
tree_status.sh hack/tree_status.sh: print diff at the end 2022-10-14 09:39:37 +02:00
xref-docker-options Remove references and checks for --gpus 2024-07-17 12:02:51 -04:00
xref-helpmsgs-manpages Create a podman-troubleshooting man page 2024-08-28 05:49:45 -06:00
xref-helpmsgs-manpages.t xref-helpmsgs-manpages: cross-check Commands.rst 2024-03-18 09:09:25 -06:00
xref-quadlet-docs Quadlet: ensure all keys are documented 2024-01-18 06:17:57 -07:00