88 lines
4.3 KiB
Markdown
88 lines
4.3 KiB
Markdown
# 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_VERSION` nello script principale.
|
|
- La stringa di versione viene inserita in tutti gli output generati: log, CSV, JSON e PDF.
|
|
|
|
- Gestione estesa di `KNOWN_FAILURES` (ora applicata anche a B8):
|
|
- `KNOWN_FAILURES` può 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_fail` e 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 Overview` aggiornata per mostrare la colonna B8 nel formato `Pass/Fail/Known`.
|
|
- Comunicazione thread-safe tra test thread e GUI tramite `queue.Queue()`.
|
|
|
|
- Reportistica aggiornata (CSV / JSON / PDF):
|
|
- I file CSV/JSON includono ora `script_version` e i conteggi `b8_known_fail` per run.
|
|
- Il PDF include la `Script Version` nella sezione metadati e mostra, nella tabella Run Details,
|
|
la colonna B8 come `Pass/Fail/Known`.
|
|
|
|
- Simulation & Mocks migliorati:
|
|
- `GRIFO_M_PBIT_mock.py` include scenari aggiuntivi (`pedestal_fail`, `mixed_b8_failures`, `agc_tests_fail`, ecc.)
|
|
- Launcher `run_simulate.bat` e `run_simulate_simple.bat` sono 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_FAILURES` esteso 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):
|
|
|
|
```powershell
|
|
.\run_simulate.bat
|
|
```
|
|
|
|
- Modalità hardware:
|
|
|
|
```powershell
|
|
.\run_target.bat
|
|
```
|
|
|
|
Output generati in (cartelle):
|
|
- Log: `TestEnvironment/LOG/GRIFO_M_PBIT.log`
|
|
- PDF/CSV/JSON: `TestEnvironment/pdf_reports/` (file con prefisso `GRIFO_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: modificare `is_known_failure()` in `GRIFO_M_PBIT.py`.
|
|
- Per aggiungere un known failure permanente, aggiornare la lista `KNOWN_FAILURES` in `GRIFO_M_PBIT.py`.
|
|
- Se si modifica la struttura dei report JSON, aggiornare anche `TestEnvironment/env/leo_grifo_test_report.py`.
|
|
|