up
This commit is contained in:
29
scripts/cli/chaos-smoke.sh
Normal file
29
scripts/cli/chaos-smoke.sh
Normal file
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# DEVOPS-CLI-43-002: chaos smoke for Task Pack commands
|
||||
|
||||
CLI=${CLI:-"dotnet run --project src/Cli/StellaOps.Cli/StellaOps.Cli.csproj --no-build --"}
|
||||
RESULTS="out/cli-chaos"
|
||||
mkdir -p "$RESULTS"
|
||||
|
||||
PACK="${PACK:-tests/fixtures/task-packs/sample-pack.yaml}"
|
||||
RANDOM_FAIL=${RANDOM_FAIL:-true}
|
||||
SEALED=${SEALED:-false}
|
||||
|
||||
echo "[chaos] running pack=$PACK random_fail=$RANDOM_FAIL sealed=$SEALED"
|
||||
|
||||
set +e
|
||||
$CLI task-runner run --pack "$PACK" ${SEALED:+--sealed} ${RANDOM_FAIL:+--chaos-random-fail} >"$RESULTS/run.log" 2>&1
|
||||
status=$?
|
||||
set -e
|
||||
|
||||
echo "exit_code=$status" > "$RESULTS/metadata.txt"
|
||||
|
||||
if [[ $status -ne 0 && "$RANDOM_FAIL" == "true" ]]; then
|
||||
echo "[chaos] attempting resume after failure"
|
||||
$CLI task-runner resume --pack "$PACK" >>"$RESULTS/run.log" 2>&1 || true
|
||||
fi
|
||||
|
||||
tar -C "$RESULTS" -czf "$RESULTS/evidence.tgz" .
|
||||
echo "[chaos] evidence archived at $RESULTS/evidence.tgz"
|
||||
36
scripts/cli/parity-diff.sh
Normal file
36
scripts/cli/parity-diff.sh
Normal file
@@ -0,0 +1,36 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# DEVOPS-CLI-43-003: parity diff for CLI golden outputs
|
||||
|
||||
EXPECTED_DIR=${EXPECTED_DIR:-"tests/goldens"}
|
||||
ACTUAL_DIR=${ACTUAL_DIR:-"out/cli-goldens"}
|
||||
CLI=${CLI:-"dotnet run --project src/Cli/StellaOps.Cli/StellaOps.Cli.csproj --no-build --"}
|
||||
|
||||
mkdir -p "$ACTUAL_DIR"
|
||||
|
||||
run_case() {
|
||||
local name=$1
|
||||
local args=$2
|
||||
local outfile="${ACTUAL_DIR}/${name}.txt"
|
||||
echo "[parity] running ${name}: ${args}"
|
||||
$CLI $args > "$outfile"
|
||||
}
|
||||
|
||||
run_case "help" "--help"
|
||||
run_case "scan-help" "scan --help"
|
||||
|
||||
diffs=0
|
||||
for expected in $(find "$EXPECTED_DIR" -name '*.txt'); do
|
||||
rel=${expected#$EXPECTED_DIR/}
|
||||
actual="${ACTUAL_DIR}/${rel}"
|
||||
if ! diff -u "$expected" "$actual" > "${ACTUAL_DIR}/${rel}.diff" 2>/dev/null; then
|
||||
echo "[parity] diff for $rel"
|
||||
diffs=$((diffs+1))
|
||||
else
|
||||
rm -f "${ACTUAL_DIR}/${rel}.diff"
|
||||
fi
|
||||
done
|
||||
|
||||
echo "[parity] total diffs: $diffs"
|
||||
echo "$diffs" > "${ACTUAL_DIR}/summary.txt"
|
||||
Reference in New Issue
Block a user