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
- Contenu des fichiers de règles
- Objectif du test
- Comment exécuter le test
- Résultats attendus
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 :
- Interprètent correctement les chemins contenant des caractères spéciaux comme
~,/,-, et_. - Créent les fichiers aux emplacements indiqués.
- Nettoient correctement les fichiers avec la cible
clean. - Comparent les messages de sortie pour s'assurer que
bakeetmakegèrent les chemins de manière identique.
Comment exécuter le test
Test manuel
-
Générez les fichiers avec Make :
cd make makeTous les fichiers doivent être créés aux emplacements spécifiés.
-
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 -
Faites la même procédure avec Bake :
cd bake java -cp bakefile.jar fr.monlouyan.bakefile.Main -
Exécutez le nettoyage :
make cleanTous les fichiers doivent être supprimés.
-
Comparez les résultats et les messages affichés.
Résultats attendus
bakeetmakedoivent interpréter correctement les chemins et créer les fichiers sans erreur.- Tous les fichiers doivent être créés aux bons emplacements.
- La cible
cleandoit supprimer correctement tous les fichiers.