test: use BATS_TEST_TMPDIR in core-post-extract regression tests

The previous form set `trap "rm -rf '$TMP_DIR'" RETURN` inside the test, but bats propagates `RETURN` traps to nested function calls, so the trap fired on the first `assert_success` and removed the work directory before the trigger script ran. Switching to bats's per-test `BATS_TEST_TMPDIR` removes the trap entirely and lets bats handle cleanup.
This commit is contained in:
Jose Diaz-Gonzalez
2026-05-08 01:34:05 -04:00
parent bc8adfa6e2
commit 5d212f3195
5 changed files with 20 additions and 35 deletions

View File

@@ -153,25 +153,22 @@ teardown() {
}
@test "(builder-lambda) core-post-extract renames the configured lambda.yml" {
local TMP_DIR
TMP_DIR="$(mktemp -d "/tmp/dokku-test-builder-lambda.XXXXXX")"
trap "rm -rf '$TMP_DIR'" RETURN
echo "---" >"$TMP_DIR/lambda2.yml"
echo "---" >"$BATS_TEST_TMPDIR/lambda2.yml"
run /bin/bash -c "dokku builder-lambda:set $TEST_APP lambdayml-path lambda2.yml"
echo "output: $output"
echo "status: $status"
assert_success
run_plugin_script builder-lambda core-post-extract "$TEST_APP" "$TMP_DIR" HEAD
run_plugin_script builder-lambda core-post-extract "$TEST_APP" "$BATS_TEST_TMPDIR" HEAD
echo "output: $output"
echo "status: $status"
assert_success
run /bin/bash -c "test -f $TMP_DIR/lambda.yml"
run /bin/bash -c "test -f $BATS_TEST_TMPDIR/lambda.yml"
assert_success
run /bin/bash -c "test ! -e $TMP_DIR/lambda2.yml"
run /bin/bash -c "test ! -e $BATS_TEST_TMPDIR/lambda2.yml"
assert_success
}