From e466bda000a3c3759e8ef2d16a3de6d5593f0bc4 Mon Sep 17 00:00:00 2001 From: Moncef STITI <moncef.stiti@etu.u-pec.fr> Date: Sat, 1 Feb 2025 18:33:10 +0100 Subject: [PATCH] =?UTF-8?q?Pr=C3=A9parations=20du=20projet=20:=20Ajout=20d?= =?UTF-8?q?es=20tests=20pour=20l'utilitaire=20de=20compilation=20Bake?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 13 ++++++++++++- TODO.md | 4 ++++ tests/test-01-depuis-rien/Bakefile | 2 ++ tests/test-01-depuis-rien/README.md | 12 ++++++++++++ tests/test-01-depuis-rien/main.c | 6 ++++++ tests/test-02-existe-deja/Bakefile | 2 ++ tests/test-02-existe-deja/README.md | 13 +++++++++++++ tests/test-02-existe-deja/main.c | 6 ++++++ 8 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 TODO.md create mode 100644 tests/test-01-depuis-rien/Bakefile create mode 100644 tests/test-01-depuis-rien/README.md create mode 100644 tests/test-01-depuis-rien/main.c create mode 100644 tests/test-02-existe-deja/Bakefile create mode 100644 tests/test-02-existe-deja/README.md create mode 100644 tests/test-02-existe-deja/main.c diff --git a/README.md b/README.md index c012b57..e0fb43d 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,13 @@ -# SAE32_2024 +# Bake - L'utilitaire de compilation minimaliste 🚀 +## Sommaire 📖 +- [Introduction](#introduction) +- [Auteurs](#auteurs-%F0%9F%91%A8%E2%80%8D%F0%9F%92%BB) + +## Introduction +Bake est un utilitaire de compilation inspiré de `make`, conçu pour gérer la génération et la mise à jour de fichiers en fonction de leurs dépendances. Contrairement à `make`, Bake utilise un fichier de configuration nommé `Bakefile`, avec une syntaxe simplifiée et sans certaines fonctionnalités avancées. + +## Auteurs 👨💻 +- Moncef STITI - [@stiti](https://grond.iut-fbleau.fr/stiti) +- Louay DARDOURI - [@dardouri](https://grond.iut-fbleau.fr/dardouri) +- Yanis HAMOUDI - [@hamoudi](https://grond.iut-fbleau.fr/hamoudi) \ No newline at end of file diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..96625e6 --- /dev/null +++ b/TODO.md @@ -0,0 +1,4 @@ +# Liste des choses à faire plus tard : + +- [ ] Améliorer les `README.md` des tests +- [ ] Ajouter le fichier compiler dans `test-02-exite-deja` \ No newline at end of file diff --git a/tests/test-01-depuis-rien/Bakefile b/tests/test-01-depuis-rien/Bakefile new file mode 100644 index 0000000..4e0e544 --- /dev/null +++ b/tests/test-01-depuis-rien/Bakefile @@ -0,0 +1,2 @@ +main: main.c + gcc -o main main.c \ No newline at end of file diff --git a/tests/test-01-depuis-rien/README.md b/tests/test-01-depuis-rien/README.md new file mode 100644 index 0000000..6e14f57 --- /dev/null +++ b/tests/test-01-depuis-rien/README.md @@ -0,0 +1,12 @@ +# Test 1 : Compilation depuis rien + +## Description +Ce test vérifie que lorsque les fichiers objets et exécutables sont absents, +le programme Bake compile correctement le fichier source `main.c` en `main`. + +## Fichiers utilisés +- `main.c` : Fichier source en C. +- `Bakefile` : Contient les règles de compilation. + +## Résultat attendu +La compilation doit se faire. diff --git a/tests/test-01-depuis-rien/main.c b/tests/test-01-depuis-rien/main.c new file mode 100644 index 0000000..145de7a --- /dev/null +++ b/tests/test-01-depuis-rien/main.c @@ -0,0 +1,6 @@ +#include <stdio.h> + +int main(void) { + printf("Ceci est un programme de test du Bakefile !\n"); + return 0; +} diff --git a/tests/test-02-existe-deja/Bakefile b/tests/test-02-existe-deja/Bakefile new file mode 100644 index 0000000..4e0e544 --- /dev/null +++ b/tests/test-02-existe-deja/Bakefile @@ -0,0 +1,2 @@ +main: main.c + gcc -o main main.c \ No newline at end of file diff --git a/tests/test-02-existe-deja/README.md b/tests/test-02-existe-deja/README.md new file mode 100644 index 0000000..6910a2c --- /dev/null +++ b/tests/test-02-existe-deja/README.md @@ -0,0 +1,13 @@ +# Test 2 : Compilation où le résultat existe déjà + +## Description +Ce test vérifie que si l'exécutable `main` est déjà présent et que `main.c` +n'a pas été modifié, alors `Bake` ne tente pas de recompiler. + +## Fichiers utilisés +- `main.c` : Fichier source inchangé. +- `Bakefile` : Contient les règles de compilation. +- `main` : Exécutable déjà généré. + +## Résultat attendu +Aucun message indiquant la compilation ne doit apparaître. diff --git a/tests/test-02-existe-deja/main.c b/tests/test-02-existe-deja/main.c new file mode 100644 index 0000000..145de7a --- /dev/null +++ b/tests/test-02-existe-deja/main.c @@ -0,0 +1,6 @@ +#include <stdio.h> + +int main(void) { + printf("Ceci est un programme de test du Bakefile !\n"); + return 0; +}