(re)Bonjour à toutes et à tous !
suite à la séance de ce matin, il nous semble important de rappeler / compléter plusieurs points :
- tout d'abord, comme annoncé au tout début du cours dans la séance Zoom et sur le forum : il est primordial que vous suiviez au moins le forum Moodle d'annonces du cours ; les messages qui y sont postés font pleinement partie du matériel du cours ;
- en particulier, il semblerait que plusieur(e)s d'entre vous ne soient pas au courant du suivi personnalisé que nous avons mis en place pour tenter d'améliorer la situation liée au cours à distance ;
- concernant la méthode de travail : il est important de souvent tester et d'utiliser les outils adéquats (débogueurs) ;
il semble que certains groupes produisent trop de code sans le tester et sont ensuite débordés par leurs erreurs (sans compter le temps perdu à faire du travail inutile qu'il faut ensuite tout reprendre) ; - concernant les tests, justement : ceux-ci sont des outils fournis pour vous aider ; ils sont à utiliser à plusieurs niveaux :
- utilisez tout d'abord (et souvent !) le bon test local adapté à ce que vous êtes en train de développer ; il suffit pour cela de le lancer « à la main » depuis votre `done/` ;
par exemple si vous êtes en train de travailler sur le `delete`, vous lancez :
./tests/06.test-delete.sh - utilisez aussi le contenu de ces tests (allez regarder dedans !) pour faire vous-mêmes des tests à la main sur la ligne de commande, typiquement en lançant à la main le test qui pose soucis ;
pour ceci pensez à travailler sur des copies !
par exemple :
cp tests/data/test02.imgst_static db.dat
./imgStoreMgr delete db.dat pict2
Vous pouvez vérifier que vous n'avez pas corrompu vos imageStore de référence (ceux dans tests/data) avec un `git status`ou `git status tests/data` ;
si vous les avez modifiés, git vous indique comment les restaurer ; - utilisez ensuite (plus tard, lorsque vous avez bien avancé) le
make check
pour lancer, en local, tous les tests (il faut pour cela que tous les scripts dans `tests` aient des droits d'exécution) ;
rebouclez si nécessaire sur les 2 points précédents ; - enfin, et seulement en fin, vérifiez le tout avec un `make feedback` (adaptez si nécessaire le tag de l'image dans le Makefile, en fonction de votre progression)
- vous pouvez, bien sûr, comme mentionné dans ce message, éditer les scripts de test locaux pour qu'ils continuent à suivre la progression de votre code ; de sorte que le `make check` local continue de fonctionner ;
à ce sujet, j'ai oublié dans mon message passé, de mentionner une seconde adaptation à apporter à `05.test-create.sh` à partir de la semaine 6 :
il faut, ligne 69, compléter la variable `doutput` pour qu'elle ait le header de l'image store (qui est stocké en haut dans la variable `empty_db`) :
doutput="$doutput
$empty_db" - et vous pouvez aussi écrire vos propres tests (dans le langage qui vous sied).
Voilà ! J'espère avoir résumé les principaux points et vous permettre de mieux travailler sur ce projet...