#!/usr/bin/env sh ## e2e-consumer entrypoint. ## 1. Run xUnit suite with TRX + console loggers. ## 2. Convert TRX -> the flat CSV documented in environment.md ยง Reporting. ## 3. Propagate the test exit code. ## ## Failure surface: ## - dotnet test returns non-zero on any test failure. ## - The CSV step still runs so the report captures whatever DID execute. ## - Final exit code is the dotnet test exit code (CSV failures are logged ## but do NOT mask test failures). set -eu mkdir -p "$RESULTS_DIR" set +e dotnet test /src/Azaion.Missions.E2E.Tests.csproj \ --no-build \ --configuration Release \ --logger "trx;LogFileName=results.trx" \ --logger "console;verbosity=normal" \ --results-directory "$RESULTS_DIR" TEST_EXIT=$? set -e TRX_FILE="$RESULTS_DIR/results.trx" CSV_FILE="$RESULTS_DIR/report.csv" TEST_DLL="/src/bin/Release/net10.0/Azaion.Missions.E2E.Tests.dll" if [ -f "$TRX_FILE" ]; then if dotnet /app/cli/Azaion.Missions.E2E.Reporting.Cli.dll "$TRX_FILE" "$CSV_FILE" "$TEST_DLL"; then echo "[entrypoint] CSV report at $CSV_FILE" else cli_exit=$? echo "[entrypoint] WARNING: trx -> csv conversion exited $cli_exit; tests still report their own verdict." >&2 fi else echo "[entrypoint] WARNING: $TRX_FILE not found; xUnit may not have produced any results." >&2 fi exit "$TEST_EXIT"