#!/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