mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-01-14 09:12:11 +03:00
zfs-tests.sh executes test-runner.py to do the actual test work. Any exit code < 4 is interpreted as success, with the actual value describing the outcome of the tests inside. If a Python program crashes in some way (eg an uncaught exception), the process exit code is 1. Taken together, this means that test-runner.py can crash during setup, but return a "success" error code to zfs-tests.sh, which will report and exit 0. This in turn causes the CI runner to believe the test run completed successfully. This commit addresses this by making zfs-tests.sh interpret an exit code of 255 as a failure in the runner itself. Then, in test-runner.py, the "fail()" function defaults to a 255 return, and the main function gets wrapped in a generic exception handler, which prints it and calls fail(). All together, this should mean that any unexpected failure in the test runner itself will be propagated out of zfs-tests.sh for CI or any other calling program to deal with. Sponsored-by: Klara, Inc. Sponsored-by: Wasabi Technology, Inc. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Tony Hutter <hutter2@llnl.gov> Signed-off-by: Rob Norris <rob.norris@klarasystems.com> Closes #17858 |
||
|---|---|---|
| .. | ||
| zfs-images@3331601f6d | ||
| .gitignore | ||
| commitcheck.sh | ||
| common.sh.in | ||
| convert_wycheproof.pl | ||
| cstyle.pl | ||
| dkms.mkconf | ||
| dkms.postbuild | ||
| kmodtool | ||
| make_gitrev.sh | ||
| Makefile.am | ||
| man-dates.sh | ||
| mancheck.sh | ||
| objtool-wrapper.in | ||
| paxcheck.sh | ||
| spdxcheck.pl | ||
| update_authors.pl | ||
| zfs2zol-patch.sed | ||
| zfs_prepare_disk | ||
| zfs-helpers.sh | ||
| zfs-tests-color.sh | ||
| zfs-tests.sh | ||
| zfs.sh | ||
| zimport.sh | ||
| zloop.sh | ||
| zol2zfs-patch.sed | ||