Test 06 - Gestion des variables en cascade
Ce test vérifie la prise en charge des variables en cascade dans bake et make, en analysant leur propagation correcte dans les commandes de 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-06-cascade/
├── README.md # Ce fichier
├── bake/
│ ├── Bakefile # Fichier de règles pour bake
│ ├── bakefile.jar # Exécutable de bake (JAR)
│ ├── main.c # Fichier source C
└──make/
├── Makefile # Fichier de règles pour make
└── main.c # Fichier source C
Contenu des fichiers de règles
Les fichiers Makefile et Bakefile utilisent des variables imbriquées pour tester la substitution en cascade :
FLAGS = -ansi -pedantic
FLAGSS = $(FLAGS)
FLAGSSS = $(FLAGSS)
FLAGSSSS = $(FLAGSSS)
FLAGSSSSS = $(FLAGSSSS)
FLAGSSSSSS = $(FLAGSSSSS)
FLAGSSSSSSS = $(FLAGSSSSSS)
main: main.c
gcc $(FLAGSSSSSSS) -o main main.c
Objectif du test
Ce test vérifie que bake et make gèrent correctement les variables définies en cascade :
- Vérifier que chaque variable est correctement remplacée par sa valeur résolue.
- Vérifier que la compilation se déroule sans erreur et produit l'exécutable
main. - Comparer les messages de sortie pour observer la propagation des variables.
Comment exécuter le test
Test manuel
-
Compilez avec Make :
cd make make -
Compilez avec Bake :
cd bake java -cp bakefile.jar fr.monlouyan.bakefile.Main -
Comparez les résultats et les messages affichés.
Résultats attendus
- Les deux outils devraient correctement remplacer les variables en cascade.
- La compilation devrait aboutir et produire un exécutable
main. - Les messages de sortie devraient indiquer clairement l'expansion des variables imbriquées.
- Si
bakene gère pas correctement la propagation des variables, la compilation pourrait échouer ou utiliser des valeurs incorrectes.