Test 18 - Gestion des caractères spéciaux dans les chemins

Ce test vérifie si bake et make gèrent correctement les chemins contenant divers types de caractères, comme ~ pour le répertoire personnel, /tmp/, des chemins avec des barres obliques /, des tirets -, et des underscores _.

Sommaire

Structure du test

test-18-path-characters/
├── 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: ~/temp/test.txt /tmp/test.txt ./path/with/slashes/test.txt path-with-dashes.txt path_with_underscores.txt

~/temp/test.txt:
	mkdir -p ~/temp
	echo "Content in home directory" > ~/temp/test.txt

/tmp/test.txt:
	echo "Content in tmp directory" > /tmp/test.txt

./path/with/slashes/test.txt:
	mkdir -p ./path/with/slashes
	echo "Content in path with slashes" > ./path/with/slashes/test.txt

path-with-dashes.txt:
	echo "Content in file with dashes" > path-with-dashes.txt

path_with_underscores.txt:
	echo "Content in file with underscores" > path_with_underscores.txt

clean:
	rm -rf ~/temp/test.txt /tmp/test.txt ./path/with/slashes path-with-dashes.txt path_with_underscores.txt

Objectif du test

Ce test vérifie que bake et make :

  1. Interprètent correctement les chemins contenant des caractères spéciaux comme ~, /, -, et _.
  2. Créent les fichiers aux emplacements indiqués.
  3. Nettoient correctement les fichiers avec la cible clean.
  4. Comparent les messages de sortie pour s'assurer que bake et make gèrent les chemins de manière identique.

Comment exécuter le test

Test manuel

  1. Générez les fichiers avec Make :

    cd make
    make
    

    Tous les fichiers doivent être créés aux emplacements spécifiés.

  2. Vérifiez que les fichiers existent :

    ls ~/temp/test.txt /tmp/test.txt ./path/with/slashes/test.txt path-with-dashes.txt path_with_underscores.txt
    
  3. Faites la même procédure avec Bake :

    cd bake
    java -cp bakefile.jar fr.monlouyan.bakefile.Main
    
  4. Exécutez le nettoyage :

    make clean
    

    Tous les fichiers doivent être supprimés.

  5. Comparez les résultats et les messages affichés.

Résultats attendus

  • bake et make doivent interpréter correctement les chemins et créer les fichiers sans erreur.
  • Tous les fichiers doivent être créés aux bons emplacements.
  • La cible clean doit supprimer correctement tous les fichiers.