Test 21 - Génération de fichiers dans le processus de build

Ce test vérifie si bake et make gèrent correctement la génération de fichiers intermédiaires dans le processus de construction, notamment lorsqu'un script est généré avant d'être exécuté.

Sommaire

Structure du test

test-21-generate/
├── README.md         # Ce fichier
├── bake/             
│   ├── Bakefile      # Fichier de règles pour bake
│   ├── bakefile.jar  # Exécutable de bake (JAR)
└── make/
    └── Makefile      # Fichier de règles pour make

Contenu des fichiers de règles

Les fichiers Makefile et Bakefile contiennent les règles suivantes :

all: output.txt

output.txt: generate.sh
	bash generate.sh > output.txt

generate.sh:
	echo "echo 'Hello, World!'" > generate.sh
	chmod +x generate.sh

Objectif du test

Ce test vérifie que bake et make :

  1. Génèrent correctement le script generate.sh avant de l'exécuter.
  2. Exécutent generate.sh pour produire output.txt.
  3. S'assurent que output.txt contient bien Hello, World!.
  4. Comparent les messages de sortie pour s'assurer que bake et make gèrent ce cas de manière identique.

Comment exécuter le test

Test manuel

  1. Exécutez la compilation avec Make :

    cd make
    make
    

    Le fichier output.txt doit être généré.

  2. Vérifiez son contenu :

    cat output.txt
    

    Il doit afficher Hello, World!.

  3. Faites la même procédure avec Bake :

    cd bake
    java -cp bakefile.jar fr.monlouyan.bakefile.Main
    
  4. Comparez les résultats et les messages affichés.

Résultats attendus

  • bake et make doivent générer correctement generate.sh avant de l'exécuter.
  • output.txt doit être créé et contenir Hello, World!.
  • Les messages de sortie doivent indiquer que le script a été exécuté correctement.