diff --git a/tests/Java/test-02-already-exist/README.md b/tests/Java/test-02-already-exist/README.md new file mode 100644 index 0000000..f478192 --- /dev/null +++ b/tests/Java/test-02-already-exist/README.md @@ -0,0 +1,31 @@ +# Test 2 : Compilation où le résultat existe déjà + +## Description +Ce test vérifie que si l'exécutable `Main.class` est déjà présent et que `Main.java` +n'a pas été modifié, alors `Bake` ne tente pas de recompiler. + +## Fichiers utilisés +- `Main.java` : Fichier source inchangé. +- `Bakefile` : Contient les règles de compilation. +- `Main.class` : Fichier compilé déjà généré. + +## Étapes du test + +1. **Première compilation** + - Exécuter `bake` pour compiler le programme. + - Vérifier que `Main.class` est bien créé. + +2. **Vérification de l'absence de recompilation** + - Exécuter `bake` une seconde fois **sans modifier** `Main.java`. + - Aucun message indiquant la recompilation ne doit apparaître. + +3. **Modification du fichier source** + - Modifier `Main.java` en ajoutant une ligne de code. + - Exécuter `bake` à nouveau. + - Cette fois, `bake` doit détecter la modification et recompiler `Main.java`. + +## Résultat attendu +- Si `Main.class` existe et que `Main.java` n'a pas été modifié, **`Bake` ne doit pas recompiler.** +- Si `Main.java` est modifié, `Bake` doit **uniquement** recompiler ce fichier. + +✅ **Si `bake` évite de recompiler sans raison et ne recompile que lorsque c’est nécessaire, alors le test est réussi !** 🚀 diff --git a/tests/Java/test-02-already-exist/bake/Bakefile b/tests/Java/test-02-already-exist/bake/Bakefile new file mode 100644 index 0000000..9c6e5ca --- /dev/null +++ b/tests/Java/test-02-already-exist/bake/Bakefile @@ -0,0 +1,6 @@ +# Bakefile + +Main.class: Main.java + javac Main.java + +all: Main.class diff --git a/tests/Java/test-02-already-exist/bake/Main.java b/tests/Java/test-02-already-exist/bake/Main.java new file mode 100644 index 0000000..b0d38a2 --- /dev/null +++ b/tests/Java/test-02-already-exist/bake/Main.java @@ -0,0 +1,6 @@ +public class Main { + public static void main(String[] args) { + System.out.println("Ceci est un programme de test du Bakefile !"); + System.out.println("test"); + } +} diff --git a/tests/Java/test-02-already-exist/make/Main.java b/tests/Java/test-02-already-exist/make/Main.java new file mode 100644 index 0000000..b0d38a2 --- /dev/null +++ b/tests/Java/test-02-already-exist/make/Main.java @@ -0,0 +1,6 @@ +public class Main { + public static void main(String[] args) { + System.out.println("Ceci est un programme de test du Bakefile !"); + System.out.println("test"); + } +} diff --git a/tests/Java/test-02-already-exist/make/Makefile b/tests/Java/test-02-already-exist/make/Makefile new file mode 100644 index 0000000..32d72da --- /dev/null +++ b/tests/Java/test-02-already-exist/make/Makefile @@ -0,0 +1,6 @@ +# Makefile + +Main.class: Main.java + javac Main.java + +all: Main.class