| _doc | ||
| .github | ||
| Documents | ||
| PlatformSimulator | ||
| TestEnvironment | ||
| tests | ||
| .gitignore | ||
| GRIFO_M_PBIT_README.md | ||
| python_simulate_wrapper.py | ||
| README.md | ||
| run_batch_mt.bat | ||
| run_batch.bat | ||
| run_simulate_simple.bat | ||
| run_simulate.bat | ||
| run_target.bat | ||
| todos.md | ||
GRIFO_M_PBIT — Release Notes & Feature Summary
Questo documento sintetizza le funzionalità implementate nella versione corrente dello
script GRIFO_M_PBIT.py rispetto a una versione iniziale minimale (senza GUI, senza
handling avanzato di "known failures", senza propagation della versione dello script, senza aggregazione dei risultati dei test, senza gestione del test del target).
Serve per informare altri sviluppatori sulle modifiche principali e sulle modalità d'uso.
Scopo
Fornire un elenco chiaro e conciso delle funzionalità aggiunte, dei comportamenti modificati (e dove cercare il codice/documentazione per approfondire).
Principali funzionalità implementate
-
TEST_VERSION:- Aggiunta di una costante
TEST_VERSIONnello script principale. - La stringa di versione viene inserita in tutti gli output generati: log, CSV, JSON e PDF.
- Aggiunta di una costante
-
Gestione estesa di
KNOWN_FAILURES(ora applicata anche a B8):KNOWN_FAILURESpuò ora essere usata per classificare come "Known" anche le failure individuate nel drill-down B8.- Aggiunto helper
is_known_failure(field_name)(matching case-insensitive, substring). - Comportamento: le failure classificate come "known" sono registrate ma NON rendono la run fallita; le failure non note su B8 causano la FAIL della run.
-
B8 drill-down migliorato:
- Il drill-down B8 classifica ogni field in PASS / REAL FAIL / KNOWN FAIL.
- Conta
b8_pass,b8_fail,b8_known_faile mantiene dettagli separati per real e known. - Drill-down eseguito solo se necessario (presenza di real failures) oppure se forzato
tramite
FORCE_B8_DRILL_DOWN.
-
GUI real-time (Tkinter) —
GRIFO_M_PBIT_gui.py:- Aggiunta di un monitor in tempo reale opzionale (avviabile di default, disabilitabile con
--no-gui). - Tabella
Runs Overviewaggiornata per mostrare la colonna B8 nel formatoPass/Fail/Known. - Comunicazione thread-safe tra test thread e GUI tramite
queue.Queue().
- Aggiunta di un monitor in tempo reale opzionale (avviabile di default, disabilitabile con
-
Reportistica aggiornata (CSV / JSON / PDF):
- I file CSV/JSON includono ora
script_versione i conteggib8_known_failper run. - Il PDF include la
Script Versionnella sezione metadati e mostra, nella tabella Run Details, la colonna B8 comePass/Fail/Known.
- I file CSV/JSON includono ora
-
Simulation & Mocks migliorati:
GRIFO_M_PBIT_mock.pyinclude scenari aggiuntivi (pedestal_fail,mixed_b8_failures,agc_tests_fail, ecc.)- Launcher
run_simulate.baterun_simulate_simple.batsono mantenuti per eseguire rapidamente test in modalità simulata.
Differenze rispetto alla versione iniziale (baseline)
Baseline: script senza GUI, senza gestione avanzata di known-failures, senza propagation della versione, ecc.
Cosa è stato aggiunto/alterato:
- Interfaccia grafica opzionale per monitoraggio realtime.
- Meccanismo
KNOWN_FAILURESesteso a B8 con helper dedicato. - Maggiori dettagli nei report (terzo campo B8: known count; script version metadata).
- Drill-down B8 condizionato e classificazione Known vs Real.
- Mocks e scenari di simulazione arricchiti per testare casi complessi.
- Test automatici per prevenire regressioni nelle regole di notazione delle failure.
- Correzioni logiche che garantiscono che real B8 failures provochino correttamente la FAIL della run.
- Gestione dei test con target generator
Dove trovare il codice e la documentazione
- Script principale:
TestEnvironment/scripts/GRIFO_M_PBIT.py - GUI:
TestEnvironment/scripts/GRIFO_M_PBIT_gui.py - Mock / simulazione:
TestEnvironment/scripts/GRIFO_M_PBIT_mock.py - Report / PDF generator:
TestEnvironment/env/leo_grifo_pdf2report.py
Esempi di esecuzione
- Modalità simulazione (rapida):
.\run_simulate.bat
- Modalità hardware:
.\run_target.bat
Output generati in (cartelle):
- Log:
TestEnvironment/LOG/GRIFO_M_PBIT.log - PDF/CSV/JSON:
TestEnvironment/pdf_reports/(file con prefissoGRIFO_M_PBIT_YYYYMMDD_HHMMSS)
Note per sviluppatori
- Matching
KNOWN_FAILURES: la logica attuale usa substring case-insensitive. Per renderla più restrittiva usare regex o nomi completi: modificareis_known_failure()inGRIFO_M_PBIT.py. - Per aggiungere un known failure permanente, aggiornare la lista
KNOWN_FAILURESinGRIFO_M_PBIT.py. - Se si modifica la struttura dei report JSON, aggiornare anche
TestEnvironment/env/leo_grifo_test_report.py.