Modification des tests (Création de répertoire make et bake)
This commit is contained in:
parent
c28c877ce8
commit
2a6599c5ae
tests/C
test-01-from-nothing
test-02-already-exist
test-03-circular
test-04-edited
test-05-variables
test-06-variables-on-cascade
12
tests/C/test-01-from-nothing/make/README.md
Normal file
12
tests/C/test-01-from-nothing/make/README.md
Normal file
@ -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.
|
15
tests/C/test-03-circular/make/README.md
Normal file
15
tests/C/test-03-circular/make/README.md
Normal file
@ -0,0 +1,15 @@
|
||||
# Test 3 : Gestion des dépendances circulaires
|
||||
|
||||
## Description
|
||||
Ce test vérifie que le système de compilation peut détecter et gérer correctement les dépendances circulaires. Il simule un projet où plusieurs fichiers `.c` et `.h` s'incluent mutuellement, créant ainsi une boucle dans les dépendances.
|
||||
|
||||
## Fichiers utilisés
|
||||
- `a.c` : Implémente functionA qui appelle functionB.
|
||||
- `b.c` : Implémente functionB qui appelle functionC.
|
||||
- `c.c` : Implémente functionC et inclut a.h, créant une boucle indirecte.
|
||||
- `a.h`, `b.h`, `c.h` : Fichiers d'en-tête correspondant.
|
||||
- `Bakefile` : Contient les règles de compilation et les dépendances.
|
||||
- `bakefile.jar` : Version compilée de notre système de build.
|
||||
|
||||
## Résultat attendu
|
||||
Si le système de build détecte une dépendance circulaire, il doit la gérer automatiquement en évitant la boucle infinie et en compilant correctement les fichiers.
|
12
tests/C/test-03-circular/make/a.c
Normal file
12
tests/C/test-03-circular/make/a.c
Normal file
@ -0,0 +1,12 @@
|
||||
#include <stdio.h>
|
||||
#include "b.h"
|
||||
|
||||
void functionA(void) {
|
||||
printf("Fonction A appelée\n");
|
||||
functionB();
|
||||
}
|
||||
|
||||
int main(void) {
|
||||
functionA();
|
||||
return 0;
|
||||
}
|
6
tests/C/test-03-circular/make/a.h
Normal file
6
tests/C/test-03-circular/make/a.h
Normal file
@ -0,0 +1,6 @@
|
||||
#ifndef A_H
|
||||
#define A_H
|
||||
|
||||
void functionA(void);
|
||||
|
||||
#endif
|
7
tests/C/test-03-circular/make/b.c
Normal file
7
tests/C/test-03-circular/make/b.c
Normal file
@ -0,0 +1,7 @@
|
||||
#include <stdio.h>
|
||||
#include "c.h"
|
||||
|
||||
void functionB(void) {
|
||||
printf("Fonction B appelée\n");
|
||||
functionC();
|
||||
}
|
6
tests/C/test-03-circular/make/b.h
Normal file
6
tests/C/test-03-circular/make/b.h
Normal file
@ -0,0 +1,6 @@
|
||||
#ifndef B_H
|
||||
#define B_H
|
||||
|
||||
void functionB(void);
|
||||
|
||||
#endif
|
8
tests/C/test-03-circular/make/c.c
Normal file
8
tests/C/test-03-circular/make/c.c
Normal file
@ -0,0 +1,8 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include "a.h"
|
||||
|
||||
void functionC(void) {
|
||||
printf("Fonction C appelée\n");
|
||||
return;
|
||||
}
|
6
tests/C/test-03-circular/make/c.h
Normal file
6
tests/C/test-03-circular/make/c.h
Normal file
@ -0,0 +1,6 @@
|
||||
#ifndef C_H
|
||||
#define C_H
|
||||
|
||||
void functionC(void);
|
||||
|
||||
#endif
|
13
tests/C/test-04-edited/bake/README.md
Normal file
13
tests/C/test-04-edited/bake/README.md
Normal file
@ -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.
|
BIN
tests/C/test-04-edited/bake/main
Executable file
BIN
tests/C/test-04-edited/bake/main
Executable file
Binary file not shown.
7
tests/C/test-04-edited/bake/main.c
Normal file
7
tests/C/test-04-edited/bake/main.c
Normal file
@ -0,0 +1,7 @@
|
||||
#include <stdio.h>
|
||||
|
||||
int main(void) {
|
||||
printf("Ceci est un programme de test du Bakefile !\n");
|
||||
printf("test\n");
|
||||
return 0;
|
||||
}
|
13
tests/C/test-04-edited/make/README.md
Normal file
13
tests/C/test-04-edited/make/README.md
Normal file
@ -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.
|
BIN
tests/C/test-04-edited/make/main
Executable file
BIN
tests/C/test-04-edited/make/main
Executable file
Binary file not shown.
7
tests/C/test-04-edited/make/main.c
Normal file
7
tests/C/test-04-edited/make/main.c
Normal file
@ -0,0 +1,7 @@
|
||||
#include <stdio.h>
|
||||
|
||||
int main(void) {
|
||||
printf("Ceci est un programme de test du Bakefile !\n");
|
||||
printf("test\n");
|
||||
return 0;
|
||||
}
|
1
tests/C/test-05-variables/make/README.md
Normal file
1
tests/C/test-05-variables/make/README.md
Normal file
@ -0,0 +1 @@
|
||||
# Test 5 : Utilisation de variables
|
6
tests/C/test-05-variables/make/main.c
Normal file
6
tests/C/test-05-variables/make/main.c
Normal file
@ -0,0 +1,6 @@
|
||||
#include <stdio.h>
|
||||
|
||||
int main(void) {
|
||||
printf("Ceci est un programme de test du Bakefile !\n");
|
||||
return 0;
|
||||
}
|
0
tests/C/test-06-variables-on-cascade/Bakefile → tests/C/test-06-variables-on-cascade/bake/Bakefile
0
tests/C/test-06-variables-on-cascade/Bakefile → tests/C/test-06-variables-on-cascade/bake/Bakefile
0
tests/C/test-06-variables-on-cascade/Makefile → tests/C/test-06-variables-on-cascade/bake/Makefile
0
tests/C/test-06-variables-on-cascade/Makefile → tests/C/test-06-variables-on-cascade/bake/Makefile
0
tests/C/test-06-variables-on-cascade/README.md → tests/C/test-06-variables-on-cascade/bake/README.md
0
tests/C/test-06-variables-on-cascade/README.md → tests/C/test-06-variables-on-cascade/bake/README.md
6
tests/C/test-06-variables-on-cascade/bake/main.c
Normal file
6
tests/C/test-06-variables-on-cascade/bake/main.c
Normal file
@ -0,0 +1,6 @@
|
||||
#include <stdio.h>
|
||||
|
||||
int main(void) {
|
||||
printf("Ceci est un programme de test du Bakefile !\n");
|
||||
return 0;
|
||||
}
|
6
tests/C/test-06-variables-on-cascade/make/Bakefile
Normal file
6
tests/C/test-06-variables-on-cascade/make/Bakefile
Normal file
@ -0,0 +1,6 @@
|
||||
FLAGS = -ansi -pedantic
|
||||
FLAGSS = $(FLAGS)
|
||||
FLAGSSS = $(FLAGSS)
|
||||
|
||||
main: main.c
|
||||
gcc $(FLAGSSS) -o main main.c
|
6
tests/C/test-06-variables-on-cascade/make/Makefile
Normal file
6
tests/C/test-06-variables-on-cascade/make/Makefile
Normal file
@ -0,0 +1,6 @@
|
||||
FLAGS = -ansi -pedantic
|
||||
FLAGSS = $(FLAGS)
|
||||
FLAGSSS = $(FLAGSS)
|
||||
|
||||
main: main.c
|
||||
gcc $(FLAGSSS) -o main main.c
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user