61 lines
2.0 KiB
Bash
61 lines
2.0 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(git rev-parse --show-toplevel)"
|
|
DEFAULT_LOG_ROOT="${ROOT_DIR}/logs/rootpack_ru_$(date -u +%Y%m%dT%H%M%SZ)"
|
|
LOG_ROOT="${ROOTPACK_LOG_DIR:-$DEFAULT_LOG_ROOT}"
|
|
mkdir -p "$LOG_ROOT"
|
|
|
|
PROJECTS=(
|
|
"src/__Libraries/__Tests/StellaOps.Cryptography.Tests/StellaOps.Cryptography.Tests.csproj"
|
|
"src/Scanner/__Tests/StellaOps.Scanner.Worker.Tests/StellaOps.Scanner.Worker.Tests.csproj"
|
|
"src/Scanner/__Tests/StellaOps.Scanner.Sbomer.BuildXPlugin.Tests/StellaOps.Scanner.Sbomer.BuildXPlugin.Tests.csproj"
|
|
)
|
|
|
|
run_test() {
|
|
local project="$1"
|
|
local extra_props=""
|
|
|
|
if [ "${STELLAOPS_ENABLE_CRYPTO_PRO:-""}" = "1" ]; then
|
|
extra_props+=" /p:StellaOpsEnableCryptoPro=true"
|
|
fi
|
|
|
|
if [ "${STELLAOPS_ENABLE_PKCS11:-""}" = "1" ]; then
|
|
extra_props+=" /p:StellaOpsEnablePkcs11=true"
|
|
fi
|
|
local safe_name
|
|
safe_name="$(basename "${project%.csproj}")"
|
|
local log_file="${LOG_ROOT}/${safe_name}.log"
|
|
local trx_name="${safe_name}.trx"
|
|
|
|
echo "[rootpack-ru] Running tests for ${project}" | tee "$log_file"
|
|
dotnet test "$project" \
|
|
--nologo \
|
|
--verbosity minimal \
|
|
--results-directory "$LOG_ROOT" \
|
|
--logger "trx;LogFileName=${trx_name}" ${extra_props} | tee -a "$log_file"
|
|
}
|
|
|
|
PROJECT_SUMMARY=()
|
|
for project in "${PROJECTS[@]}"; do
|
|
run_test "$project"
|
|
safe_name="$(basename "${project%.csproj}")"
|
|
PROJECT_SUMMARY+=("$project|$safe_name")
|
|
echo "[rootpack-ru] Wrote logs for ${project} -> ${LOG_ROOT}/${safe_name}.log"
|
|
done
|
|
|
|
{
|
|
echo "RootPack_RU deterministic test harness"
|
|
echo "Generated: $(date -u +%Y-%m-%dT%H:%M:%SZ)"
|
|
echo "Log Directory: $LOG_ROOT"
|
|
echo ""
|
|
echo "Projects:"
|
|
for entry in "${PROJECT_SUMMARY[@]}"; do
|
|
project_path="${entry%%|*}"
|
|
safe_name="${entry##*|}"
|
|
printf ' - %s (log: %s.log, trx: %s.trx)\n' "$project_path" "$safe_name" "$safe_name"
|
|
done
|
|
} > "$LOG_ROOT/README.tests"
|
|
|
|
echo "Logs and TRX files available under $LOG_ROOT"
|