AdaCore / e3-core

Core framework for developing portable automated build systems
27 stars 36 forks source link

Tests for SLSA provenance may randomly fail #668

Closed grouigrokon closed 9 months ago

grouigrokon commented 9 months ago

From time to time, the test_predicate_load_json() test from _tests/tests_e3/slsa/provenancetest.py file may fail with:

>       assert predicate.run_details == predicate2.run_details
E       assert <e3.slsa.provenance.Predicate.RunDetails object at 0x7f3060b150d0> == <e3.slsa.provenance.Predicate.RunDetails object at 0x7f3060cc92d0>
E        +  where <e3.slsa.provenance.Predicate.RunDetails object at 0x7f3060b150d0> = <e3.slsa.provenance.Predicate object at 0x7f3060c900d0>.run_details
E        +  and   <e3.slsa.provenance.Predicate.RunDetails object at 0x7f3060cc92d0> = <e3.slsa.provenance.Predicate object at 0x7f3060cc8210>.run_details

Looking deeper, it seems like the timestamps of the run details are incorrect:

E                 "metadata": {
E             -     "finishedOn": "2024-01-17T13:59:03Z",
E             ?                                      ^
E             +     "finishedOn": "2024-01-17T13:59:01Z",
E             ?                                      ^
E                   "invocationId": "invocation id",
E             -     "startedOn": "2024-01-17T13:59:03Z"
E             ?                                     ^
E             +     "startedOn": "2024-01-17T13:59:01Z"
E             ?                                     ^
E                 }