# 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](#structure-du-test) - [Contenu des fichiers de règles](#contenu-des-fichiers-de-règles) - [Objectif du test](#objectif-du-test) - [Comment exécuter le test](#comment-exécuter-le-test) - [Test manuel](#test-manuel) - [Résultats attendus](#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 : ```makefile 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` : 1. Détectent l'absence du fichier `test`. 2. Affichent une erreur explicite indiquant l'absence de la dépendance requise. 3. Stoppent l'exécution du processus de compilation. 4. Comparent les messages de sortie pour s'assurer que `bake` et `make` gèrent l'erreur de manière similaire. ## Comment exécuter le test ### Test manuel 1. Essayez de compiler avec Make : ```bash cd make make ``` Vous devriez voir une erreur indiquant que `test` est manquant. 2. Faites la même procédure avec Bake : ```bash 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` et `bake` doivent afficher une erreur indiquant que `test` est absent. - L'exécution doit s'arrêter sans produire d'exécutable `main`. - `bake` et `make` doivent avoir un comportement similaire dans la gestion des dépendances manquantes.