Message ID | 20190712235742.22646-9-logang@deltatee.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Fix nvme block test issues | expand |
diff --git a/check b/check index 029095e7cf38..981058c59c12 100755 --- a/check +++ b/check @@ -288,7 +288,15 @@ _output_test_run() { ) | column -t -s $'\t' } +_register_test_cleanup() { + TEST_CLEANUP=$1 +} + _cleanup() { + if [[ -v TEST_CLEANUP ]]; then + ${TEST_CLEANUP} + fi + if [[ "${TMPDIR:-}" ]]; then rm -rf "$TMPDIR" unset TMPDIR @@ -337,6 +345,7 @@ _call_test() { fi $LOGGER_PROG "run blktests $TEST_NAME" + unset TEST_CLEANUP trap _cleanup EXIT if ! TMPDIR="$(mktemp --tmpdir -p "$OUTPUT" -d "tmpdir.${TEST_NAME//\//.}.XXX")"; then return
In order to ensure tests properly clean themselves up, even if they are subject to interruption, add the ability to call a test specified function at cleanup time. Any test can call _register_test_cleanup with the first argument as a function to call after the test ends or is interrupted (similar to using 'trap <func> EXIT'). Signed-off-by: Logan Gunthorpe <logang@deltatee.com> --- check | 9 +++++++++ 1 file changed, 9 insertions(+)