Test 31 - Gestion des redirections I/O
Ce test vérifie comment bake
et make
gèrent les redirections d'entrée/sortie (>
, >>
, <
, |
).
Sommaire
- Structure du test
- Contenu des fichiers de règles
- Objectif du test
- Scénario de test
- Comment exécuter le test
- Résultats attendus
Structure du test
test-31-redirection/
├── README.md
├── bake/
│ ├── Bakefile
│ ├── bakefile.jar
├── make/
│ ├── Makefile
Contenu des fichiers de règles
.PHONY: all test-output test-append test-input test-multiple test-pipe test-cleanup
all: test-output test-append test-input test-multiple test-pipe
@echo "Tous les tests de redirection I/O sont terminés"
# Test de redirection de sortie standard (>)
test-output:
@echo "Test de redirection de sortie >"
echo "Contenu écrit avec redirection >" > output.txt
@cat output.txt
@echo "-----------------------------"
# Test de redirection avec ajout (>>)
test-append:
@echo "Test de redirection avec ajout >>"
echo "Première ligne" > append.txt
echo "Deuxième ligne ajoutée" >> append.txt
@cat append.txt
@echo "-----------------------------"
# Test de redirection d'entrée (<)
test-input:
@echo "Test de redirection d'entrée <"
echo "Contenu à lire" > input.txt
cat < input.txt
@echo "-----------------------------"
# Test de redirections multiples
test-multiple:
@echo "Test de redirections multiples"
echo "Ligne 1" > multi.txt
echo "Ligne 2" >> multi.txt
cat < multi.txt > multi-output.txt
@cat multi-output.txt
@echo "-----------------------------"
# Test de pipe |
test-pipe:
@echo "Test de pipe |"
echo "LIGNE UN\nLIGNE DEUX\nLIGNE TROIS" | grep LIGNE | wc -l
@echo "-----------------------------"
# Nettoyage des fichiers créés
test-cleanup:
@echo "Nettoyage des fichiers de test"
rm -f output.txt append.txt input.txt multi.txt multi-output.txt
Objectif du test
Ce test vérifie que bake
et make
:
- Gèrent correctement la redirection de sortie standard
>
et>>
. - Lisent des fichiers en redirigeant l'entrée
<
. - Traitent les redirections combinées (
<
et>
en même temps). - Gèrent correctement les pipes
|
pour la manipulation de commandes.
Scénario de test
- Exécuter
make
etbake
pour voir la gestion des redirections. - Vérifier le contenu des fichiers créés.
- Supprimer les fichiers après le test.
Test manuel
cd make
make all
make test-cleanup
cd bake
java -cp bakefile.jar fr.monlouyan.bakefile.Main all
java -cp bakefile.jar fr.monlouyan.bakefile.Main test-cleanup
Résultats attendus
- Les fichiers créés doivent contenir les résultats attendus des redirections.
- Les pipes doivent fonctionner comme prévu.