# Test 30 - Gestion des opérateurs de chaînage (`&&` et `\`) Ce test vérifie comment `bake` et `make` interprètent les commandes avec les opérateurs `&&` et `\`. ## Sommaire - [Structure du test](#structure-du-test) - [Contenu des fichiers de règles](#contenu-des-fichiers-de-règles) - [Objectif du test](#objectif-du-test) - [Scénario de test](#scénario-de-test) - [Comment exécuter le test](#comment-exécuter-le-test) - [Test manuel](#test-manuel) - [Résultats attendus](#résultats-attendus) ## Structure du test ``` test-30-command-chaining/ ├── README.md ├── bake/ │ ├── Bakefile │ ├── bakefile.jar ├── make/ │ ├── Makefile └── run_test30.sh ``` ## Contenu des fichiers de règles ```makefile Main.class: Main.java javac Main.java && echo "Compilation terminée" main: Main.class java Main && echo "Exécution terminée" ``` ## Objectif du test Ce test vérifie que : 1. `bake` et `make` exécutent correctement les commandes chaînées (`&&`). 2. L’exécution s’arrête si une commande échoue. ## Scénario de test 1. Compiler `Main.java` en `Main.class`. 2. Exécuter `make` et `bake` pour voir si les commandes sont exécutées correctement. 3. Observer si les erreurs interrompent bien la compilation ou l'exécution. ## Test manuel ```bash cd make make make main cd bake java -cp bakefile.jar fr.monlouyan.bakefile.Main java -cp bakefile.jar fr.monlouyan.bakefile.Main main ``` ## Résultats attendus - Si `javac` échoue, `echo "Compilation terminée"` ne doit pas s'afficher. - Si `java Main` échoue, `echo "Exécution terminée"` ne doit pas s'afficher.