Skip to content

Un logiciel servant à effectuer des recherches dans une banque de recettes

Notifications You must be signed in to change notification settings

leonidglazyrin/Recipe-Book

Repository files navigation

TP3: Liste chainée, CUnit et modules

Description

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 fichier
  • Makefile: 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/CD
  • sujet.pdf: sujet du travail
  • /test_files: dossier contenant des fichiers de recettes
  • central.h: interface main()
  • main.h: code source main()
  • main.h: interface des methodes principales du programme
  • main.c: code source es methodes principales du programme
  • linkedList.h: interface liste chainée
  • linkedList.c: code source liste chainée
  • stats.h: interface gestion des statistiques
  • stats.c: code source gestion des statistiques
  • tests.h: interface des tests
  • tests.c: code source des tests

Contraintes du travail

Auteur

Leonid Glazyrin (GLAL77080105)

Fonctionnement

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 :

  1. Fichier non trouvé
  2. Allocation de memoire dynamique qui echoue

Les cas d'erreur non-gérés connus sont :

  1. Si le fichier de recettes se termine par plus d'un '\n'
  2. Si seulement '\n' est entree au clavier
  3. Si le fichier est vide, la lettre la plus frequente sera 'a'

Tests

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.

Verifier la couverture des tests

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%

Verifier les fuites de memoire

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)

Supprimer les fichiers generes

Entrez make clean pour supprimer tout les fichiers genere.

Dépendances

Références

About

Un logiciel servant à effectuer des recherches dans une banque de recettes

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published