75 lines
2.3 KiB
Markdown
Raw Permalink Normal View History

2025-03-03 13:57:20 +01:00
# 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)
2025-03-10 13:21:31 +01:00
└── make/
└── Makefile # Fichier de règles pour make
2025-03-03 13:57:20 +01:00
```
## 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).