# Test 08 - Gestion des espaces et tabulations Ce test vérifie que `bake` et `make` gèrent correctement les tabulations et les espaces dans les fichiers de règles. Un mauvais usage des espaces au lieu des tabulations devrait provoquer une erreur. ## 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) - [Comment exécuter le test](#comment-exécuter-le-test) - [Test manuel](#test-manuel) - [Résultats attendus](#résultats-attendus) ## Structure du test ``` test-08-tabulations/ ├── README.md # Ce fichier ├── bake/ │ ├── Bakefile # Fichier de règles pour bake │ ├── bakefile.jar # Exécutable de bake (JAR) └── make/ └── Makefile # Fichier de règles pour make ``` ## Contenu des fichiers de règles Les fichiers `Makefile` et `Bakefile` contiennent les règles suivantes : ```makefile all: echo "Cette ligne est correcte" test_espaces: echo "Cette ligne utilise une tabulation" echo "Cette ligne utilise des espaces et doit provoquer une erreur" ``` ## Objectif du test Ce test vérifie que `bake` et `make` appliquent correctement la règle selon laquelle les commandes doivent être indentées avec des tabulations et non des espaces : 1. La cible `all` doit s'exécuter sans erreur. 2. La cible `test_espaces` doit provoquer une erreur à cause de l'utilisation d'espaces au lieu d'une tabulation. 3. Comparer les messages d'erreur de `bake` et `make`. ## Comment exécuter le test ### Test manuel 1. Exécutez la règle correcte avec Make : ```bash cd make make all ``` 2. Exécutez la règle incorrecte : ```bash make test_espaces ``` Une erreur doit apparaître. 3. Faites la même procédure avec Bake : ```bash cd bake java -cp bakefile.jar fr.monlouyan.bakefile.Main all java -cp bakefile.jar fr.monlouyan.bakefile.Main test_espaces ``` ## Résultats attendus - `make all` et `bake all` doivent s'exécuter sans erreur. - `make test_espaces` et `bake test_espaces` doivent échouer en indiquant que la ligne est mal formatée. - Les messages d'erreur doivent indiquer clairement l'origine du problème (espaces au lieu de tabulations).