# 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](#structure-du-test) - [Contenu des fichiers de règles](#contenu-des-fichiers-de-règles) - [Objectif du test](#objectif-du-test) - [Scénario de test](#scénario-de-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-28-silent/ ├── README.md ├── bake/ │ ├── Bakefile │ ├── bakefile.jar ├── make/ │ ├── Makefile ``` ## Contenu des fichiers de règles Les fichiers `Makefile` et `Bakefile` contiennent : ```makefile 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 ```bash 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 `@`).