Test 13 - Gestion des dépendances inexistantes
Ce test vérifie que bake
et make
gèrent correctement les cas où une dépendance requise est absente.
L'exécution doit afficher une erreur et stopper la compilation.
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-13-dependance-inexistante/
├── README.md # Ce fichier
├── bake/
│ ├── Bakefile # Fichier de règles pour bake
│ ├── bakefile.jar # Exécutable de bake (JAR)
│ ├── main.c # Fichier source principal
│ ├── (test manquant) # Dépendance absente
└── make/
├── Makefile # Fichier de règles pour make
├── main.c # Fichier source principal
└── (test manquant) # Dépendance absente
Contenu des fichiers de règles
Les fichiers Makefile
et Bakefile
contiennent les règles suivantes :
all: main
main: main.c test
gcc -o main main.c
clean:
rm -f main
Objectif du test
Ce test vérifie que bake
et make
:
- Détectent l'absence du fichier
test
. - Affichent une erreur explicite indiquant l'absence de la dépendance requise.
- Stoppent l'exécution du processus de compilation.
- Comparent les messages de sortie pour s'assurer que
bake
etmake
gèrent l'erreur de manière similaire.
Comment exécuter le test
Test manuel
-
Essayez de compiler avec Make :
cd make make
Vous devriez voir une erreur indiquant que
test
est manquant. -
Faites la même procédure avec Bake :
cd bake java -cp bakefile.jar fr.monlouyan.bakefile.Main
Vous devriez voir une erreur similaire et l'arrêt du programme.
Résultats attendus
make
etbake
doivent afficher une erreur indiquant quetest
est absent.- L'exécution doit s'arrêter sans produire d'exécutable
main
. bake
etmake
doivent avoir un comportement similaire dans la gestion des dépendances manquantes.