# 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 `@`).
