Redmine: Issueshttps://hephaistos.lpp.polytechnique.fr/redmine/https://hephaistos.lpp.polytechnique.fr/redmine/redmine/favicon.ico?15080976012023-02-13T10:10:15ZRedmine
Redmine LFR-FSW - Task #4026 (Closed): Analyse GCOVhttps://hephaistos.lpp.polytechnique.fr/redmine/issues/40262023-02-13T10:10:15ZVeronique bouzid
<p><strong>Début de la couverture de Test en 3.3.0.16</strong></p>
<p>Une quinzaine de tests ont été joués. Avant de pousser plus loin, il faudrait traiter ses tests et évaluer la couverture atteinte.</p>
<p>Sur pc-solar3, dans le répertoire /opt/VALIDATION_R3.3/GCOV/3.3.0.16, voici les fichiers à traiter:</p>
<p>gcov_out_2023-02-13 09:10:52.635355.txt<br />gcov_out_2023-02-13 09:12:32.358845.txt<br />gcov_out_2023-02-13 09:15:53.533775.txt<br />gcov_out_2023-02-13 09:17:58.219268.txt<br />gcov_out_2023-02-13 09:23:23.893858.txt<br />gcov_out_2023-02-13 09:33:27.972367.txt<br />gcov_out_2023-02-13 09:37:47.458757.txt<br />gcov_out_2023-02-13 09:39:33.827127.txt<br />gcov_out_2023-02-13 09:41:52.977440.txt<br />gcov_out_2023-02-13 10:23:51.069120.txt (SVS-0002 à SVS-0010 + SVS-0059)</p> LFR-FSW - Bug #4015 (Closed): HK_LFR_ME_CNT ne s'incremente pas lors du passage à zero du compteu...https://hephaistos.lpp.polytechnique.fr/redmine/issues/40152023-01-24T11:00:35ZVeronique bouzid
<p>Le test SVS-0026 doit vérifier le requirement suivant<br />All the counters (error counter, packet counter, etc) managed by LFR FSW shall restart at 0 when tehy reached their maximun value.</p>
<p>Le script qui teste le compteur HK_LFR_DPU_SPW_RX_TOO_BIG envoie 257 Tc générant une erreur. Le compteur valide bien le requirement et on voit parfaitement le passage à zero.</p>
<p>Un autre compteur nommé HK_LFR_ME_CNT comptabilise les erreurs de type medium. HK_LFR_DPU_SPW_RX_TOO_BIG fait partie de ce type d erreur et donc on s'attend à la fin du test à obtenir<br />HK_LFR_ME_CNT=257. Ce n est pas le cas il manque 1.</p>
<p>Ici un extrait des valeurs de ces 2 compteurs (fichir verif_count.txt)<br />11:47:45.222921 HK_LFR_LE_CNT=1 HK_LFR_ME_CNT=0 HK_LFR_DPU_SPW_RX_TOO_BIG=0<br />11:47:46.242728 HK_LFR_LE_CNT=1 HK_LFR_ME_CNT=1 HK_LFR_DPU_SPW_RX_TOO_BIG=1<br />11:47:47.222395 HK_LFR_LE_CNT=1 HK_LFR_ME_CNT=1 HK_LFR_DPU_SPW_RX_TOO_BIG=1<br />11:47:48.223832 HK_LFR_LE_CNT=1 HK_LFR_ME_CNT=1 HK_LFR_DPU_SPW_RX_TOO_BIG=1<br />11:47:49.222892 HK_LFR_LE_CNT=1 HK_LFR_ME_CNT=1 HK_LFR_DPU_SPW_RX_TOO_BIG=1<br />11:47:50.223058 HK_LFR_LE_CNT=1 HK_LFR_ME_CNT=2 HK_LFR_DPU_SPW_RX_TOO_BIG=2<br />----</p>
<p>12:04:48.226406 HK_LFR_LE_CNT=1 HK_LFR_ME_CNT=255 HK_LFR_DPU_SPW_RX_TOO_BIG=255<br />12:04:49.225973 HK_LFR_LE_CNT=1 <strong>HK_LFR_ME_CNT=255 HK_LFR_DPU_SPW_RX_TOO_BIG=0</strong><br />12:04:50.225914 HK_LFR_LE_CNT=1 HK_LFR_ME_CNT=255 HK_LFR_DPU_SPW_RX_TOO_BIG=0<br />12:04:51.226438 HK_LFR_LE_CNT=1 HK_LFR_ME_CNT=255 HK_LFR_DPU_SPW_RX_TOO_BIG=0<br />12:04:52.225955 HK_LFR_LE_CNT=1 HK_LFR_ME_CNT=255 HK_LFR_DPU_SPW_RX_TOO_BIG=0<br />12:04:53.225879 HK_LFR_LE_CNT=1 HK_LFR_ME_CNT=256 HK_LFR_DPU_SPW_RX_TOO_BIG=1<br />12:04:54.22646 HK_LFR_LE_CNT=1 HK_LFR_ME_CNT=256 HK_LFR_DPU_SPW_RX_TOO_BIG=1<br />12:04:55.225976 HK_LFR_LE_CNT=1 HK_LFR_ME_CNT=256 HK_LFR_DPU_SPW_RX_TOO_BIG=1<br />12:04:56.225969 HK_LFR_LE_CNT=1 HK_LFR_ME_CNT=256 HK_LFR_DPU_SPW_RX_TOO_BIG=1<br />12:04:57.22624 HK_LFR_LE_CNT=1 HK_LFR_ME_CNT=256 HK_LFR_DPU_SPW_RX_TOO_BIG=1<br />12:04:58.226003 HK_LFR_LE_CNT=1 HK_LFR_ME_CNT=256 HK_LFR_DPU_SPW_RX_TOO_BIG=1<br />12:04:59.226005 HK_LFR_LE_CNT=1 HK_LFR_ME_CNT=256 HK_LFR_DPU_SPW_RX_TOO_BIG=1<br />12:05:00.226468 HK_LFR_LE_CNT=1 HK_LFR_ME_CNT=256 HK_LFR_DPU_SPW_RX_TOO_BIG=1<br />12:05:01.226032 HK_LFR_LE_CNT=1 <strong>HK_LFR_ME_CNT=256 HK_LFR_DPU_SPW_RX_TOO_BIG=1</strong></p>
<p>On voit la parfaite égalité des 2 compteurs excepté après le wrap de HK_LFR_DPU_SPW_RX_TOO_BIG.<br />Le script joué se nomme /opt/VALIDATION_R3.3/lfrverif/LFR_SVS/SVS-0026/check_rx_too_big_cnt_wrap.py et les fichiers de test sont dans<br />/home/validation/data/R3.3/3.3.0.11/1.1.91/SVS-0026/TESTS/check_rx_too_big_cnt_wrap</p>
<p>Contexte du test<br />---------------------<br />FSW 3.3.0.11<br />VHDL 1.1.91<br />EM1 sans Timegen<br />SocExplorerEngine.getSocExplorer: Version = 0.7.0, Branch = default, Changeset = c459540a6dbdcbb4e17f204685fce02c070ba971+<br />StarDundee</p>
<p><strong>ATTENTION<br />Il se peut que ce bug soit applicable également à la gestion du compteur d'erreur HK_LFR_LE_CNT.</strong></p> LFR-FSW - Bug #4012 (Closed): TM_LFR_KCOEFFICIENTS_DUMP erroné suite à l'envoi d'une TC_LFR_LOAD_...https://hephaistos.lpp.polytechnique.fr/redmine/issues/40122023-01-19T10:26:55ZVeronique bouzid
<p>Dans le test /opt/VALIDATION_R3.3/lfrverif/LFR_SVS/SVS-0086/load_kcoeff_with_dump_v3-3.py</p>
<p>l'envoi d'un TC_LFR_LOAD_KCOEFFICIENTS avec KCOEFF_FREQ = 0, KCOEFF_1 = 1065353216 à KCOEFF_32 = 1065353216<br /> ne doit pas modifier les KCOEFF contenus dans la TM_LFR_KCOEFFICIENTS_DUMP.</p>
<p>Extrait</p>
<p><strong>TM_LFR_KCOEFFICIENTS_DUMP</strong> , CCSDS_VERSION_NUMBER = 0, PACKET_TYPE: TM_PACKET = 0, DATA_FIELD_HEADER_FLAG: WITH_HEADER = 1, PROCESS_ID: RPW_PID_2 = 76, PACKET_CATEGORY: FUNCTIONAL_NON_CYCLIC = 6, (PACKET_ID=0xcc6), SEGMENTATION_GROUPING_FLAG: STANDALONE_PACKET = 3, SEQUENCE_CNT=2, (PACKET_SEQUENCE_CONTROL=0xc002), PACKET_LENGTH=3393, SPARE_1=0, PUS_VERSION = 1, SPARE_2=0, SERVICE_TYPE: EQ_CONFIGURATION = 181, SERVICE_SUBTYPE: KCOEFFICIENTS_DUMP = 96, DESTINATION_ID: MISSION_TIMELINE = 110, TIME=0x8000000d233f, PA_LFR_HK_SID: LFR_KCOEFF_SID = 11, PA_LFR_KCOEFF_PKT_CNT=2, PA_LFR_KCOEFF_PKT_NR=1, PA_LFR_KCOEFF_BLK_NR=26, <strong>SY_LFR_KCOEFF_FREQUENCY=0, SY_LFR_KCOEFF_1=1065353216, SY_LFR_KCOEFF_2=1065353216, SY_LFR_KCOEFF_3=1065353216, SY_LFR_KCOEFF_4=1065353216, SY_LFR_KCOEFF_5=1065353216, SY_LFR_KCOEFF_6=1065353216, SY_LFR_KCOEFF_7=1065353216, SY_LFR_KCOEFF_8=1065353216, SY_LFR_KCOEFF_9=1065353216, SY_LFR_KCOEFF_10=1065353216, SY_LFR_KCOEFF_11=1065353216, SY_LFR_KCOEFF_12=1065353216, SY_LFR_KCOEFF_13=1065353216, SY_LFR_KCOEFF_14=1065353216, SY_LFR_KCOEFF_15=1065353216, SY_LFR_KCOEFF_16=1065353216, SY_LFR_KCOEFF_17=1065353216, SY_LFR_KCOEFF_18=1065353216, SY_LFR_KCOEFF_19=1065353216, SY_LFR_KCOEFF_20=1065353216, SY_LFR_KCOEFF_21=1065353216, SY_LFR_KCOEFF_22=1065353216, SY_LFR_KCOEFF_23=1065353216, SY_LFR_KCOEFF_24=1065353216, SY_LFR_KCOEFF_25=1065353216, SY_LFR_KCOEFF_26=1065353216, SY_LFR_KCOEFF_27=0, SY_LFR_KCOEFF_28=0, SY_LFR_KCOEFF_29=0, SY_LFR_KCOEFF_30=0, SY_LFR_KCOEFF_31=0, SY_LFR_KCOEFF_32=0</strong></p>
<p>On voit bien que seuls les KCOEFF allant de 1 à 26 ont récupéré la valeur modifiée par la TC_LFR_LOAD_KCOEFFICIENTS_alors que les KCOEFF de 27 à 32 sont bien restés à zéro (valeurs par défaut mises au boot).</p>
<p><ins>Ici les valeurs de référence récupérées au boot</ins></p>
<p><strong>TM_LFR_KCOEFFICIENTS_DUMP</strong> , CCSDS_VERSION_NUMBER = 0, PACKET_TYPE: TM_PACKET = 0, DATA_FIELD_HEADER_FLAG: WITH_HEADER = 1, PROCESS_ID: RPW_PID_2 = 76, PACKET_CATEGORY: FUNCTIONAL_NON_CYCLIC = 6, (PACKET_ID=0xcc6), SEGMENTATION_GROUPING_FLAG: STANDALONE_PACKET = 3, SEQUENCE_CNT=0, (PACKET_SEQUENCE_CONTROL=0xc000), PACKET_LENGTH=3393, SPARE_1=0, PUS_VERSION = 1, SPARE_2=0, SERVICE_TYPE: EQ_CONFIGURATION = 181, SERVICE_SUBTYPE: KCOEFFICIENTS_DUMP = 96, DESTINATION_ID: MISSION_TIMELINE = 110, PA_LFR_HK_SID: LFR_KCOEFF_SID = 11, PA_LFR_KCOEFF_PKT_CNT=2, PA_LFR_KCOEFF_PKT_NR=1, PA_LFR_KCOEFF_BLK_NR=26, <strong>SY_LFR_KCOEFF_FREQUENCY=0, SY_LFR_KCOEFF_1=1050859893, SY_LFR_KCOEFF_2=1051774863, SY_LFR_KCOEFF_3=3199048410, SY_LFR_KCOEFF_4=3199675526, SY_LFR_KCOEFF_5=1048105208, SY_LFR_KCOEFF_6=1049731468, SY_LFR_KCOEFF_7=3199884855, SY_LFR_KCOEFF_8=3201093691, SY_LFR_KCOEFF_9=1002946415, SY_LFR_KCOEFF_10=993270132, SY_LFR_KCOEFF_11=1052396741, SY_LFR_KCOEFF_12=1051678457, SY_LFR_KCOEFF_13=3193633745, SY_LFR_KCOEFF_14=3195990147, SY_LFR_KCOEFF_15=3202344225, SY_LFR_KCOEFF_16=3204016481, SY_LFR_KCOEFF_17=3191761623, SY_LFR_KCOEFF_18=3194781000, SY_LFR_KCOEFF_19=0, SY_LFR_KCOEFF_20=2147483648, SY_LFR_KCOEFF_21=3164388996, SY_LFR_KCOEFF_22=3169957665, SY_LFR_KCOEFF_23=3164388996, SY_LFR_KCOEFF_24=3169957665, SY_LFR_KCOEFF_25=3156000388, SY_LFR_KCOEFF_26=3161569057, SY_LFR_KCOEFF_27=0, SY_LFR_KCOEFF_28=0, SY_LFR_KCOEFF_29=0, SY_LFR_KCOEFF_30=0, SY_LFR_KCOEFF_31=0, SY_LFR_KCOEFF_32=0</strong></p>
<p><strong>QUESTION<br />----------------<br />Est ce un bug ou bien le comportement attendu?</strong></p>
<p>Contexte du test<br />----------------------<br />FSW 3.3.0.11 et 3.3.0.12<br />VHDL 1.1.91<br />EM2 sans Timegen<br />SocExplorerEngine.getSocExplorer: Version = 0.7.0, Branch = 0.6, Changeset = c459540a6dbd+<br />StarDundee</p> LFR-FSW - Task #3266 (Closed): Mise à jour Verification reporthttps://hephaistos.lpp.polytechnique.fr/redmine/issues/32662018-12-11T13:24:34ZVeronique bouzid
<p>Hello<br />Mise a jour du chapitre 6 concernant GCOV.</p>
<p>Peux-tu agrandir le rapport final car ce n est pas tres lisible.</p>
<p>Je n ai pas pu regenerer le rapport avec le supplément de tests que j avais fait, cela ne fonctionne plus et Alexis est en déplacement donc je ne vais pas l embeter avec cela.<br />Le rapport joint est celui décrit dans <a class="issue tracker-4 status-5 priority-2 priority-default closed" title="Task: Analyse couverture de tests 3.2.0.24 (Closed)" href="https://hephaistos.lpp.polytechnique.fr/redmine/issues/3199">#3199</a>.</p> LFR-FSW - Task #3242 (Closed): Mise à jour matricehttps://hephaistos.lpp.polytechnique.fr/redmine/issues/32422018-11-23T11:15:11ZVeronique bouzid
<p>Voici ma version modifiée</p> LFR-FSW - Task #3241 (Closed): Mise à jour Validation Reporthttps://hephaistos.lpp.polytechnique.fr/redmine/issues/32412018-11-23T11:04:31ZVeronique bouzid
<p>Voici ma version modifiée</p> LFR-FSW - Task #3240 (Closed): Mise à jour SVShttps://hephaistos.lpp.polytechnique.fr/redmine/issues/32402018-11-23T11:02:50ZVeronique bouzid
<p>Voici la version modifiée</p> LFR-FSW - Task #3239 (Closed): Mise a jour SRShttps://hephaistos.lpp.polytechnique.fr/redmine/issues/32392018-11-23T11:01:49ZVeronique bouzid
<p>Voici ma version modifiée</p> LFR-FSW - Feature #3221 (Closed): Test Watchdog https://hephaistos.lpp.polytechnique.fr/redmine/issues/32212018-11-16T13:31:32ZVeronique bouzid
<p>Version 3.2.0.24-gcov</p>
<p>La fonction watchdog_stop() du fichier fsw_misc.c n est jamais atteinte en utilisant la version du soft de GCOV.</p>
<p>Un test a été effectué à la main pour forcer le watcdog a se déclencher (ecrire du 0 dans le register correspondant ).</p>
<p>GPTIMER_BASE_ADDR=0x80000300<br />WATCHDOG_TIMER_OFFSET=0x20<br />def trigger_watchdog():<br />... SpwPlugin0.Write(GPTIMER_BASE_ADDR+WATCHDOG_TIMER_OFFSET,[3])<br />trigger_watchdog()</p>
<p>--> LFR s'arrete</p>
<p>Les 3 requirements liés au watchdog sont<br />SSS-CP-FS-520 (REQ-LFR-SRS-5230) Test couvert par SVS-0057 <br />SSS-CP-FS-530 (REQ-LFR-SRS-5231) Inspection<br />SSS-CP-FS-540 (REQ-LFR-SRS-5232) Inspection</p>
<p>Concernant le SSS-CP-FS-530, la couverture GCOV montre que la fonction watchdog_reload() (fichier fsw_misc.c) est appelée un tres grand nombre de fois. La fonction watchdog_stop () n a pas été atteinte durant la campagne de validation le version 3.2.0.24.</p>
<p>Concernant le SSS-CP-FS-540, un script manuel ecrit 0 dans le watchdog counter . LFR s'arrete.<br />Ce requirement est donc vérifié en inspection et en test.<br />L'utilisation de la fonction watchdog_stop() ne peut etre verifiée dans la version GCOV ( exit(0) et donc pas possible d envoyer TC_LFR_RESET).</p>
<p>Il faut donc mettre à jour la matrice de compliance et la SVS ( SVS-0058 et test_watchdog.py).</p> LFR-FSW - Task #3201 (Closed): GCOV Fonction scrubbing appelée?https://hephaistos.lpp.polytechnique.fr/redmine/issues/32012018-11-13T12:48:15ZVeronique bouzid
<p>Ce test lance le soft (LFRControlPlugin_start.py).<br />et on attend 3 hs.<br />Ensuite on envoie la commande reset.</p>
<p>On verifie que dans le fichier gcov_out_xxx on a bien une seule ligne référencant le fichier fsw_misc.c</p> LFR-FSW - Task #3199 (Closed): Analyse couverture de tests 3.2.0.24https://hephaistos.lpp.polytechnique.fr/redmine/issues/31992018-11-13T09:46:29ZVeronique bouzid
<p>Tout se passe sur la machine rangiroa<br />rep = /home/bouzid/LFR/GCOV_3.2.0.24<br />ensuite les répertoires de test /home/bouzid/LFR/GCOV_3.2.0.24/SVS-xxxx.</p>
<p>Les répertoires SVS comprenant plusieurs scripts de test sont traités indépendamment, par exemple <br />SVS-0012 SVS-0012-step2 SVS-0012-burst SVS-0012-normal SVS-0012-sbm1 SVS-0012-sbm2</p>
<p>Les variables d environnement necessaires sont<br />export DROOT=${HOME}/LFR<br />export SGCOV=${DROOT}/LFR_FSW/libgcov/build_gcov_files.py<br />export DBUILD=${DROOT}/build-LFR_FSW-Desktop_Qt_5_11_2_GCC_64bit-Debug/<br />export DTEST=${DROOT}/GCOV_3.2.0.24</p>
<p>Chaque répertoire de test a son analyse gcov unitaire. On se met au debut de l arborescence de test<br />cd ${DTEST}<br />${SGCOV} -r ${DBUILD} -o /home/bouzid/LFR/GCOV_3.2.0.24/SVS-0053/ /home/bouzid/LFR/GCOV_3.2.0.24/SVS-0053/gcov_out_2018-11-13\ 08\:49\:49.309256.txt<br />puis on execute le script /home/bouzid/LFR/lance_rapport SVS-xxxx.</p>
<p>Les fichiers*.html seront crées dans le repertoire de test .</p>
<p>Ensuite pour obtenir l analyse complète, on se met dans le répertoire /home/bouzid/LFR/GCOV_3.2.0.24 et on lance la commande<br />../LFR_FSW/libgcov/gcovr.py -s ../LFR_FSW -o . -g /opt/rtems-4.10/bin/sparc-rtems-gcov .<br />ou bien le script /home/bouzid/LFR/lance_final</p>
<p>Liste des tests joués<br />SVS-0002 à SVS-0014 SVS-0018 à SVS-0022 SVS-0026 à SVS-0034 SVS-0038 SVS-0040 à SVS-0044 SVS-0053 à SVS-0057<br />SVS-0059 SVS-0064 à SVS-0065 SVS-0067 SVS-0069 SVS-0070 SVS-0071 SVS-0073 SVS-0074 SVS-0076 à SVS-0079 SVS-0081 à SVS-0083 SVS-0086 SVS-0089 à SVS-0091 SVS-0095 SVS-0096</p> LFR-FSW - Task #3190 (Closed): Suppression TM_LFR_EXE_NOT_IMPLEMENTEDhttps://hephaistos.lpp.polytechnique.fr/redmine/issues/31902018-11-08T09:40:34ZVeronique bouzid
<p>Suite à la suppression du code associé à la fonction TM_LFR_EXE_NOT_IMPLEMENTED ( fchier tm_lfr_tc_exe.c)<br />il faut supprimer dans tous les documents les références à cette TM ou bien expliquer <br />- SRS<br />- SVS<br />- RPT ( verification report</p>
<p>Liste à completer.</p> LFR-FSW - Task #3188 (Closed): TC_LFR trop courte ( < CCSDS_TC_PKT_MIN_SIZE )https://hephaistos.lpp.polytechnique.fr/redmine/issues/31882018-11-07T07:45:45ZVeronique bouzid
<p>Mettre a jour la SRS, SVS, SUM pour la prise en compte d une commande trop courte. Aucun requirement dans la SSS ne traite de ce cas.<br />Voir tache <a class="issue tracker-4 status-5 priority-2 priority-default closed" title="Task: Envoi d une TC dont la taile est inferieure à 16 (Closed)" href="https://hephaistos.lpp.polytechnique.fr/redmine/issues/3146">#3146</a></p> LFR-FSW - Task #3171 (Closed): GCOV pour TEST-TYPEhttps://hephaistos.lpp.polytechnique.fr/redmine/issues/31712018-10-30T15:41:01ZVeronique bouzid
<p>Peux-tu m extraire la couverture de test en 3.2.0.22.</p>
<p>Les fichiers sont rangés dans data/R3++/3.2.0.22/1.1.91/GCOV/TEST-TYPE</p> LFR-FSW - Task #3170 (Closed): GCOV pour TC_LFR_LOAD_FILTER_PARhttps://hephaistos.lpp.polytechnique.fr/redmine/issues/31702018-10-30T11:01:32ZVeronique bouzid
<p>Verifier le code executé sur l envoi de TC_LFR_LOAD_FILTER_PAR.<br />Dans le fichier tc_acceptance.c , la fonction tc_ckeck_type_subtype doit valider le decodage e cette TC.</p>