SAE32_2024/tests/test-13-dependancy-dont-exist

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

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 :

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 :

    cd make
    make
    

    Vous devriez voir une erreur indiquant que test 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 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.