# Bakefile pour tester les redirections I/O

.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