Test 05 - Utilisation de variables
Ce test vérifie la prise en charge des variables dans bake
et make
, en comparant leur comportement lors de la compilation d'un programme simple.
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-05-variables/
├── 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
└── run_test05.sh # Programme de test automatique
Contenu des fichiers de règles
Les fichiers Makefile
et Bakefile
utilisent des variables pour améliorer la lisibilité et la maintenance :
FLAGS = -ansi -pedantic
COMPILATEUR = gcc
OPTIONS = -o
EXECUTABLE = main
SOURCE = main.c
main: main.c
$(COMPILATEUR) $(FLAGS) $(OPTIONS) $(EXECUTABLE) $(SOURCE)
Objectif du test
Ce test vérifie que bake
et make
interprètent correctement les variables :
- Vérifier que les variables définies dans le fichier de règles sont bien reconnues et substituées dans les commandes.
- Vérifier que la compilation se déroule correctement en utilisant les variables.
- Comparer les messages de sortie de
bake
etmake
pour s'assurer qu'ils prennent en compte les variables correctement.
Comment exécuter le test
Test automatique
-
Rendez le script de test exécutable :
chmod +x run_test05.sh
-
Lancez le script de test :
./run_test05.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
-
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 reconnaître et substituer correctement les variables dans les commandes.
- La compilation devrait aboutir et produire un exécutable
main
. - Les messages de sortie devraient indiquer clairement que les variables ont été utilisées dans la commande de compilation.
- Si les variables ne sont pas prises en compte correctement,
bake
pourrait échouer à compilermain.c
.