37 lines
1.5 KiB
Bash
Executable File
37 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
TMP="$(mktemp -d "${TMPDIR:-/tmp}/mosaic-expected-red-test.XXXXXX")"
|
|
trap 'rm -rf "$TMP"' EXIT
|
|
|
|
cat > "$TMP/match.log" <<'LOG'
|
|
[fixture] resolved lane=next package=@mosaicstack/mosaic@next version=0.0.50-next.999
|
|
[fixture] installer_exit=1 done_claims=0
|
|
[P0] PASS: supported context
|
|
[P1] PASS: preflight complete
|
|
[P2] PASS: pinned artifact
|
|
[P3] PASS: absolute_path=/home/test/.npm-global/bin/mosaic version=0.0.50-next.999 equals resolved lane version
|
|
[P4] FAIL: NOT-MEASURED / UNDECLARED: declaration absent
|
|
[P5] FAIL: identity absent
|
|
[P6] FAIL: activation unavailable
|
|
[P7] PASS: no services requested
|
|
[P8] FAIL: shell path absent
|
|
[P9] FAIL: aggregate refusal
|
|
LOG
|
|
|
|
bash "$ROOT/tools/verify-greenfield-expected-red.sh" next-git-present "$TMP/match.log" 1 >/dev/null
|
|
printf '[test] PASS: matching detector findings make the CI verifier green\n'
|
|
|
|
sed 's/^\[P4\] FAIL:/[P4] PASS:/' "$TMP/match.log" > "$TMP/drift.log"
|
|
if bash "$ROOT/tools/verify-greenfield-expected-red.sh" next-git-present "$TMP/drift.log" 1 >/dev/null 2>&1; then
|
|
echo '[test] FAIL: changed P4 verdict did not invalidate the pinned manifest' >&2
|
|
exit 1
|
|
fi
|
|
printf '[test] PASS: changed phase verdict requires a deliberate manifest update\n'
|
|
|
|
if bash "$ROOT/tools/verify-greenfield-expected-red.sh" next-git-present "$TMP/match.log" 0 >/dev/null 2>&1; then
|
|
echo '[test] FAIL: unexpected fixture exit did not invalidate the pinned manifest' >&2
|
|
exit 1
|
|
fi
|
|
printf '[test] PASS: unexpected fixture exit remains blocking\n'
|