SAE32_2024/tests/test-14-remove-source-and-rebuild

Test n°14 - Suppression d'un fichier source et recompilation

Objectif

Ce test a pour but de vérifier comment Bake et Make réagissent lorsque le fichier source .c est supprimé après la première compilation et qu'une recompilation est demandée.

Structure du projet

Le test est organisé en deux répertoires :

.
├── bake
│   ├── Bakefile         # Fichier de build pour Bake
│   ├── bakefile.jar     # Fichier Bake pré-compilé
│   └── test.c           # Fichier source C
├── bakefile.jar         # Copie du fichier Bake
└── make
    ├── Makefile         # Fichier de build pour Make
    └── test.c           # Fichier source C

Étapes du test

1. Compilation initiale

Avec Bake

Exécutez les commandes suivantes :

cd bake
java -cp bakefile.jar fr.monlouyan.bakefile.Main

Vous devriez voir la compilation de test.c en test.o.

Avec Make

Exécutez les commandes suivantes :

cd ../make
make

Cela devrait également compiler test.c en test.o.

2. Suppression du fichier source

Dans chaque répertoire (bake/ et make/), supprimez test.c :

rm test.c

3. Recompilation

Avec Bake

java -cp bakefile.jar fr.monlouyan.bakefile.Main

Avec Make

make

Résultats attendus

Si Bake fonctionne comme Make, nous devrions observer une erreur de compilation, car test.c est manquant.

Exemple de sortie attendue :

make: *** No rule to make target `test.c', needed by `test.o'.  Stop.