Tests du moteur embarqué

tests/test_engine.sh : coups d'ouverture connus à 0 et 2 plis, nombre de
coups légaux, bornes et symétrie des probabilités, décisions de videau
évidentes, erreurs. test_makefile.sh essaie make clean sur un dossier
jetable, pour ne plus forcer la recompilation du moteur à chaque test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Pierre MARTIN
2026-11-02 13:58:00 +01:00
co-authored by Claude Opus 5.5
parent 05d59c6acb
commit a90f8ac9bf
2 changed files with 153 additions and 4 deletions
+9 -4
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
# Vérifie le contrat du Makefile décrit dans CLAUDE.md :
# toutes les commandes obligatoires existent et apparaissent dans `make help`,
# et `make clean` peut être relancé sans erreur.
# et `make clean` supprime le dossier de build et peut être relancé sans erreur.
set -euo pipefail
cd "$(dirname "$0")/.."
@@ -17,6 +17,11 @@ for cible in setup build test lint deploy clean help; do
fi
done
make clean >/dev/null
make clean >/dev/null
[ ! -e build ] || { echo "make clean n'a pas supprimé build/"; exit 1; }
# make clean est essayé sur un dossier de build jetable : vider le vrai build/
# forcerait à recompiler le moteur et à régénérer ses données à chaque test.
faux_build="$(mktemp -d)"
touch "$faux_build/artefact"
make clean BUILD_DIR="$faux_build" >/dev/null
make clean BUILD_DIR="$faux_build" >/dev/null
[ ! -e "$faux_build" ] || { echo "make clean n'a pas supprimé le dossier de build"; exit 1; }
grep -qx 'BUILD_DIR := build' Makefile || { echo "BUILD_DIR ne vaut plus build"; exit 1; }