Le logiciel est lancé à la console en recevant en paramètre un nom de fichier. Le fichier contiendra la banque de recettes dans laquelle nous effectuerons les recherches. Chaque ligne du fichier doit contenir une recette avec les catégories dans lesquelles elle doit apparaître. Une recette est obligatoirement dans une catégorie mais pourrait aussi apparaître dans plusieurs catégories. Les catégories apparaissent entre crochets, après le nom de la recette.
Travail accompli dans le contexte du cours Construction et maintenance de logiciels (INF3135) donnee par Serge Dogny à l'UQAM.
Le contenu du projet:
README.md
: ce fichierMakefile
: permet d'automatiser la compilation.gitignore
: ignorer certains fichiers lors de la gestion des version.gitla-ci.yml
: instructions d'intégration continu avec GitLab CI/CDsujet.pdf
: sujet du travail/test_files
: dossier contenant des fichiers de recettescentral.h
: interface main()main.h
: code source main()main.h
: interface des methodes principales du programmemain.c
: code source es methodes principales du programmelinkedList.h
: interface liste chainéelinkedList.c
: code source liste chainéestats.h
: interface gestion des statistiquesstats.c
: code source gestion des statistiquestests.h
: interface des teststests.c
: code source des tests
Leonid Glazyrin (GLAL77080105)
Pour faire fonctionner le projet il vous faudra vous assurez d'avoir git
installé, ainsi que make
. Referez vous à la section Dépendances
pour les sites officiels.
Tout d'abord cloner le projet avec la commande :
git clone https://gitlab.info.uqam.ca/glazyrin.leonid/inf3135-automne2022-tp3.git
Si le projet n'est pas publique vous devrez vous authentifier.
Ensuite exécuté les commandes suivantes pour vous déplacer dans le répertoire, compiler le programme:
cd inf3135-aut2022-tp3
make
Pour exécuter le programme avec une des recette contenu dans un fichier :
./recherche <FICHIER_TEXTE>
Entrez votre critère de recherche : <CATEGORIE> [MOT-CLE]
exit
pour arreter le programme normalement.
Pour exécuter le programme et generer des statistiques sur les recettes fournie en parametres :
./recherche <FICHIER_TEXTE> -S <FICHIER OU ECRIRE LES STATISTIQUES>
Les cas d'erreur gérés sont :
- Fichier non trouvé
- Allocation de memoire dynamique qui echoue
Les cas d'erreur non-gérés connus sont :
- Si le fichier de recettes se termine par plus d'un '\n'
- Si seulement '\n' est entree au clavier
- Si le fichier est vide, la lettre la plus frequente sera 'a'
Entrez make test
pour exécuter la suite de tests automatiques.
Mes résultats:
Run Summary: Type Total Ran Passed Failed Inactive
suites 3 3 n/a 0 0
tests 19 19 19 0 0
asserts 54 54 54 0 n/a
Elapsed time = 0.001 seconds
Tout les tests réussissent.
Entrez make coverage
pour executer la verification de la couverture des tests unitaire
sur tout les fichiers du programme.
Mes résultats:
main.c : 44.35%
linkedList.c : 77.95%
stats.c : 87.00%
tests.c : 94.19%
Entrez make valgrind
pour executer un test qui verifiera les fuites de memoire,
l'interaction de l'utilisateur ne sera pas necessaire pour cette execution.
Mes résultats:
ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Entrez make clean
pour supprimer tout les fichiers genere.