Test 17 - Règles sans commandes
Ce test vérifie si bake
et make
gèrent correctement les règles sans commandes et leur propagation
dans les dépendances.
Sommaire
- Structure du test
- Contenu des fichiers de règles
- Objectif du test
- Comment exécuter le test
- Résultats attendus
Structure du test
test-17-rule-without-command/
├── README.md # Ce fichier
├── bake/
│ ├── Bakefile # Fichier de règles pour bake
│ ├── bakefile.jar # Exécutable de bake (JAR)
└── make/
└── Makefile # Fichier de règles pour make
Contenu des fichiers de règles
Les fichiers Makefile
et Bakefile
contiennent les règles suivantes :
all: dep1 dep2
dep1:
dep2: dep3
dep3:
touch dep3
Objectif du test
Ce test vérifie que bake
et make
:
- Gèrent correctement les règles sans commandes explicites.
- Exécutent correctement les dépendances lorsque c'est nécessaire.
- Exécutent uniquement les règles qui ont des commandes (ici
dep3
). - Comparent les messages de sortie pour s'assurer que
bake
etmake
ont le même comportement.
Comment exécuter le test
Test automatique
-
Rendez le script de test exécutable :
chmod +x run_test17.sh
-
Lancez le script de test :
./run_test17.sh
-
Consultez les résultats affichés dans le terminal et dans le fichier de log généré dans le répertoire
logs/
.
Test manuel
-
Exécutez la compilation avec Make :
cd make make
Seule
dep3
doit être exécutée (avectouch dep3
). -
Faites la même procédure avec Bake :
cd bake java -cp bakefile.jar fr.monlouyan.bakefile.Main
-
Comparez les résultats et les messages affichés.
Résultats attendus
bake
etmake
doivent traiter correctement les règles sans commandes.- Seule la règle
dep3
doit exécutertouch dep3
. - Aucune erreur ne doit être affichée.