Tests et fuzzing

Dans cette partie du TP, vous allez mettre en œuvre les différentes techniques de tests vues durant le cours.

Préparation

Une partie de ces tests seront effectués sur le code écrit le premier jour. Or, pour certains tests (ceux qui vont résider en dehors du répertoire src), vous allez devoir exporter les modules et fonctions à tester via un crate bibliothèque (library) pour qu'ils puissent être accessibles par les tests (mais également dans la suite par le mécanisme de benchmark de Criterion).

  1. Créez un fichier nommé lib.rs dans le repertoire src.

  2. Dans ce fichier, déclarez les modules (account, hibp, scanner, scanner::net) que vous souhaitez exporter via ce crate bibliothèque (via des pub mod hibp...).

  3. Supprimez de src/main.rs les déclaration des modules ci-dessus (mod ...) et remplacez les, si nécessaire, par des use tp_fc::hibp....