SAE32_2024/tests/test-12-file-dont-exist

Test 12 - Gestion des fichiers manquants

Ce test vérifie que bake et make gèrent correctement les cas où un fichier source requis est absent. L'exécution doit afficher une erreur et stopper la compilation.

Sommaire

Structure du test

test-12-fichier-manquant/
├── README.md         # Ce fichier
├── bake/             
│   ├── Bakefile      # Fichier de règles pour bake
│   ├── bakefile.jar  # Exécutable de bake (JAR)
│   ├── (main.c manquant)  # Fichier source absent
└── make/
    ├── Makefile      # Fichier de règles pour make
    └── (main.c manquant)  # Fichier source absent

Contenu des fichiers de règles

Les fichiers Makefile et Bakefile contiennent les règles suivantes :

all: main

main: main.c 
	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 main.c.
  2. Affichent une erreur explicite indiquant l'absence du fichier requis.
  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 :

    cd make
    make
    

    Vous devriez voir une erreur indiquant que main.c est manquant.

  2. 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 et bake doivent afficher une erreur indiquant que main.c 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 fichiers manquants.