Bug #58
open
timeTest fails on summer
0%
Description
Durante l'installazione di WOSS in DESERT fallisce il test timeTest() a riga 479 nel file tests/woss-unit-test.cpp.
Ho rintracciato che il problema si presenta quando si va a definire la data 01/01/2025 12:00 e testare l'operazione di incremento dell'ora.
In questo periodo siamo siamo in DST (Daylight Saving Time) +1 e in qualche modo questo viene applicato anche alla data di prima, questo porta l'ora da 12:00 a 13:00. Il test successivo testa l'incremento dell'ora di +1 e si aspetta 13:00 ma ottiene 14:00 e fallisce.
Per la mia configurazione, ho risolto settando il parametro time.tm_isdst a -1 nel file di definizione di woss::Time (https://github.com/pie-trab/WOSS/blob/dst-time-fix/woss/woss_def/time-definitions.cpp) subito dopo riga 78.
Da documentazione (https://en.cppreference.com/cpp/chrono/c/tm) tm_isdst se negativo lascia che sia std::mktime a gestire la timezione del dispositivo in automatico.
Ho testato l'installazione di WOSS solo tramite DESERT non da solo.
Una volta fatto ciò WOSS non da più errori durante l'installazione.
Allego le info del mio sistema.
gcc (GCC) 16.1.1 20260515 (Red Hat 16.1.1-2)
Files