Test 11 - Gestion des erreurs de compilation

Ce test vérifie que bake et make affichent correctement les erreurs de compilation et stoppent l'exécution en cas d'erreur, comme le ferait make.

Sommaire

Structure du test

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

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 correctement les erreurs de compilation dans main.c.
  2. Affichent les messages d'erreur correspondants.
  3. Arrêtent l'exécution du processus de compilation en cas d'erreur.
  4. Comparent les messages de sortie pour s'assurer que bake et make gèrent les erreurs 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 de compilation et l'arrêt du programme.

  2. Faites la même procédure avec Bake :

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

    Vous devriez voir une erreur de compilation similaire et l'arrêt du programme.

Résultats attendus

  • make et bake doivent afficher les erreurs de compilation.
  • 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 erreurs.