@@ -28,7 +28,7 @@ free_port_in_range() {
|
||||
}
|
||||
|
||||
port=$(free_port_in_range 30000 40000)
|
||||
echo "[test] starting vibe-app on random port $port${COVERAGE:+ (under coverage instrumentation)}"
|
||||
echo "[test] starting tbd-app on random port $port${COVERAGE:+ (under coverage instrumentation)}"
|
||||
|
||||
compose=(docker compose)
|
||||
if [[ -n "${COVERAGE:-}" ]]; then
|
||||
@@ -38,7 +38,7 @@ fi
|
||||
use_builder
|
||||
|
||||
cd integration-test
|
||||
export VIBE_PORT=$port
|
||||
export TBD_PORT=$port
|
||||
|
||||
teardown() {
|
||||
local status=$?
|
||||
@@ -56,9 +56,9 @@ trap 'exit 143' TERM
|
||||
# builds. DEPS_ALIASES must match build.args in docker-compose.coverage.yml.
|
||||
docker buildx build --load \
|
||||
--build-arg "DEPS_ALIASES=run${COVERAGE:+:cov}" \
|
||||
-t vibe-app-integration \
|
||||
-t tbd-app-integration \
|
||||
-f "$root/Dockerfile" "$root"
|
||||
docker buildx build --load -t vibe-integration-test "$root/integration-test"
|
||||
docker buildx build --load -t tbd-integration-test "$root/integration-test"
|
||||
|
||||
# `run` returns the test container's own exit code; `up --abort-on-container-exit` can leak
|
||||
# the app's SIGTERM exit (143) during teardown instead.
|
||||
@@ -69,11 +69,11 @@ if [[ -n "${COVERAGE:-}" ]]; then
|
||||
# SIGTERM is what makes Cloverage write its report, so stop (not kill) the app and pull
|
||||
# the report out of the stopped container before `down` removes it.
|
||||
out_dir=$root/target/coverage
|
||||
echo "[test] stopping vibe-app to flush coverage report"
|
||||
"${compose[@]}" stop -t 120 vibe-app || true
|
||||
echo "[test] stopping tbd-app to flush coverage report"
|
||||
"${compose[@]}" stop -t 120 tbd-app || true
|
||||
rm -rf "$out_dir/integration"
|
||||
mkdir -p "$out_dir"
|
||||
if ! "${compose[@]}" cp vibe-app:/app/target/coverage/integration "$out_dir" \
|
||||
if ! "${compose[@]}" cp tbd-app:/app/target/coverage/integration "$out_dir" \
|
||||
|| [[ ! -f $out_dir/integration/lcov.info ]]; then
|
||||
echo "[test] WARNING: no integration coverage report was produced"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user