Test 28 - Gestion des commandes silencieuses et suppression forcée

Ce test vérifie comment bake et make gèrent les commandes silencieuses (@) et la suppression forcée (-).

Sommaire

Structure du test

test-28-silent/
├── README.md         
├── bake/             
│   ├── Bakefile      
│   ├── bakefile.jar  
├── make/
│   ├── Makefile           

Contenu des fichiers de règles

Les fichiers Makefile et Bakefile contiennent :

all: main

main:
	echo "Compilation de main..."
	touch main

clean:
	- rm main
	@echo "Fichiers nettoyés."

Objectif du test

Ce test vérifie que bake et make :

  1. Exécutent les commandes de compilation normalement.
  2. Gèrent correctement le - devant rm pour ignorer les erreurs si le fichier n'existe pas.
  3. Masquent l'affichage de la commande echo "Fichiers nettoyés." grâce à @.

Scénario de test

  1. Exécuter make et bake pour compiler main.
  2. Exécuter la cible clean et observer la suppression.
  3. Exécuter make clean et bake clean quand main n'existe pas pour vérifier que l'erreur est ignorée.

Comment exécuter le test

Test manuel

cd make
make
make clean
make clean  # Tester la suppression sans le fichier

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

Résultats attendus

  • bake et make doivent exécuter clean sans erreur même si main n'existe pas.
  • La suppression doit être silencieuse (grâce au @).