textmachine/platform/docs/p8-review/run-full-mutations.sh

21 lines
1.1 KiB
Bash
Executable file

#!/usr/bin/env bash
# Full-battery check for the two mutations that survived a package-scoped run.
set -u
cd "${P8_COPY:?set P8_COPY to a COPY of platform/}"
# окружение батареи задаёт вызывающий: TM_PLATFORM_TEST_DSN + TM_PLATFORM_TEST_ENGINE_BIN + TM_PLATFORM_TEST_BOOK_TEMPLATE
: "${TM_PLATFORM_TEST_DSN:?}" "${TM_PLATFORM_TEST_ENGINE_BIN:?}" "${TM_PLATFORM_TEST_BOOK_TEMPLATE:?}"
OUT=${P8_OUT:-.}/mutations-full.log
: > $OUT
for m in M8 M10 M4; do
python3 "${P8_HERE:-$(dirname "$0")}/plant.py" $m plant >> $OUT
go build ./... >> $OUT 2>&1 || { echo "$m BUILD FAILED" >> $OUT; python3 "${P8_HERE:-$(dirname "$0")}/plant.py" $m revert >> $OUT; continue; }
go test ./... -count=1 > /tmp/full.$m.log 2>&1
if [ $? -ne 0 ]; then
echo "$m: RED на ПОЛНОЙ батарее" >> $OUT; grep -- '--- FAIL' /tmp/full.$m.log | head -6 >> $OUT
else
echo "$m: GREEN — ПОЛНАЯ батарея (18 пакетов) мутацию не заметила" >> $OUT
fi
python3 "${P8_HERE:-$(dirname "$0")}/plant.py" $m revert >> $OUT
echo "---" >> $OUT
done
echo DONE >> $OUT