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:
@@ -156,25 +156,22 @@ EOF
|
||||
}
|
||||
|
||||
@test "(builder-dockerfile) core-post-extract renames the configured dockerfile" {
|
||||
local TMP_DIR
|
||||
TMP_DIR="$(mktemp -d "/tmp/dokku-test-builder-dockerfile.XXXXXX")"
|
||||
trap "rm -rf '$TMP_DIR'" RETURN
|
||||
echo "FROM scratch" >"$TMP_DIR/second.Dockerfile"
|
||||
echo "FROM scratch" >"$BATS_TEST_TMPDIR/second.Dockerfile"
|
||||
|
||||
run /bin/bash -c "dokku builder-dockerfile:set $TEST_APP dockerfile-path second.Dockerfile"
|
||||
echo "output: $output"
|
||||
echo "status: $status"
|
||||
assert_success
|
||||
|
||||
run_plugin_script builder-dockerfile core-post-extract "$TEST_APP" "$TMP_DIR" HEAD
|
||||
run_plugin_script builder-dockerfile 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/Dockerfile"
|
||||
run /bin/bash -c "test -f $BATS_TEST_TMPDIR/Dockerfile"
|
||||
assert_success
|
||||
|
||||
run /bin/bash -c "test ! -e $TMP_DIR/second.Dockerfile"
|
||||
run /bin/bash -c "test ! -e $BATS_TEST_TMPDIR/second.Dockerfile"
|
||||
assert_success
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -132,25 +132,22 @@ teardown() {
|
||||
}
|
||||
|
||||
@test "(builder-nixpacks) core-post-extract renames the configured nixpacks.toml" {
|
||||
local TMP_DIR
|
||||
TMP_DIR="$(mktemp -d "/tmp/dokku-test-builder-nixpacks.XXXXXX")"
|
||||
trap "rm -rf '$TMP_DIR'" RETURN
|
||||
echo "" >"$TMP_DIR/nixpacks.alt.toml"
|
||||
echo "" >"$BATS_TEST_TMPDIR/nixpacks.alt.toml"
|
||||
|
||||
run /bin/bash -c "dokku builder-nixpacks:set $TEST_APP nixpackstoml-path nixpacks.alt.toml"
|
||||
echo "output: $output"
|
||||
echo "status: $status"
|
||||
assert_success
|
||||
|
||||
run_plugin_script builder-nixpacks core-post-extract "$TEST_APP" "$TMP_DIR" HEAD
|
||||
run_plugin_script builder-nixpacks 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/nixpacks.toml"
|
||||
run /bin/bash -c "test -f $BATS_TEST_TMPDIR/nixpacks.toml"
|
||||
assert_success
|
||||
|
||||
run /bin/bash -c "test ! -e $TMP_DIR/nixpacks.alt.toml"
|
||||
run /bin/bash -c "test ! -e $BATS_TEST_TMPDIR/nixpacks.alt.toml"
|
||||
assert_success
|
||||
}
|
||||
|
||||
|
||||
@@ -229,25 +229,22 @@ teardown() {
|
||||
}
|
||||
|
||||
@test "(builder-pack) core-post-extract renames the configured project.toml" {
|
||||
local TMP_DIR
|
||||
TMP_DIR="$(mktemp -d "/tmp/dokku-test-builder-pack.XXXXXX")"
|
||||
trap "rm -rf '$TMP_DIR'" RETURN
|
||||
echo "" >"$TMP_DIR/project2.toml"
|
||||
echo "" >"$BATS_TEST_TMPDIR/project2.toml"
|
||||
|
||||
run /bin/bash -c "dokku builder-pack:set $TEST_APP projecttoml-path project2.toml"
|
||||
echo "output: $output"
|
||||
echo "status: $status"
|
||||
assert_success
|
||||
|
||||
run_plugin_script builder-pack core-post-extract "$TEST_APP" "$TMP_DIR" HEAD
|
||||
run_plugin_script builder-pack 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/project.toml"
|
||||
run /bin/bash -c "test -f $BATS_TEST_TMPDIR/project.toml"
|
||||
assert_success
|
||||
|
||||
run /bin/bash -c "test ! -e $TMP_DIR/project2.toml"
|
||||
run /bin/bash -c "test ! -e $BATS_TEST_TMPDIR/project2.toml"
|
||||
assert_success
|
||||
}
|
||||
|
||||
|
||||
@@ -143,25 +143,22 @@ teardown() {
|
||||
}
|
||||
|
||||
@test "(builder-railpack) core-post-extract renames the configured railpack.json" {
|
||||
local TMP_DIR
|
||||
TMP_DIR="$(mktemp -d "/tmp/dokku-test-builder-railpack.XXXXXX")"
|
||||
trap "rm -rf '$TMP_DIR'" RETURN
|
||||
echo "{}" >"$TMP_DIR/railpack.alt.json"
|
||||
echo "{}" >"$BATS_TEST_TMPDIR/railpack.alt.json"
|
||||
|
||||
run /bin/bash -c "dokku builder-railpack:set $TEST_APP railpackjson-path railpack.alt.json"
|
||||
echo "output: $output"
|
||||
echo "status: $status"
|
||||
assert_success
|
||||
|
||||
run_plugin_script builder-railpack core-post-extract "$TEST_APP" "$TMP_DIR" HEAD
|
||||
run_plugin_script builder-railpack 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/railpack.json"
|
||||
run /bin/bash -c "test -f $BATS_TEST_TMPDIR/railpack.json"
|
||||
assert_success
|
||||
|
||||
run /bin/bash -c "test ! -e $TMP_DIR/railpack.alt.json"
|
||||
run /bin/bash -c "test ! -e $BATS_TEST_TMPDIR/railpack.alt.json"
|
||||
assert_success
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user