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

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 :

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 :

    cd make
    make all
    
  2. Exécutez la règle incorrecte :

    make test_espaces
    

    Une erreur doit apparaître.

  3. Faites la même procédure avec Bake :

    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).