Mise en place test-02-already-exist en java

This commit is contained in:
Yanis HAMOUDI 2025-02-08 01:27:39 +01:00
parent ffc6257c50
commit dfb15d2153
5 changed files with 55 additions and 0 deletions
tests/Java/test-02-already-exist

@ -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 cest nécessaire, alors le test est réussi !** 🚀

@ -0,0 +1,6 @@
# Bakefile
Main.class: Main.java
javac Main.java
all: Main.class

@ -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");
}
}

@ -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");
}
}

@ -0,0 +1,6 @@
# Makefile
Main.class: Main.java
javac Main.java
all: Main.class