@@ -220,16 +220,24 @@ async def fake_work(exp_id: uuid.UUID):
220220 async with CraftExperiment .start (name = "first-experiment" ) as exp :
221221 start_time = datetime .now ()
222222
223- exp .run (lambda : fake_work (exp .id ))
223+ run1 = exp .run (lambda : fake_work (exp .id ))
224224 assert len (exp ._runs ) == 1
225225
226- exp .run (lambda : fake_work (exp .id ))
226+ run2 = exp .run (lambda : fake_work (exp .id ))
227227 assert len (exp ._runs ) == 2
228228
229229 await exp .wait ()
230230 assert datetime .now () - start_time >= timedelta (seconds = 3 )
231231 assert len (exp ._runs ) == 0
232232
233+ run1_obj = run1 ._get_obj ()
234+ assert run1_obj .status == Status .COMPLETED
235+ assert run1_obj .duration >= 3.0
236+
237+ run2_obj = run2 ._get_obj ()
238+ assert run2_obj .status == Status .COMPLETED
239+ assert run2_obj .duration >= 3.0
240+
233241
234242@pytest .mark .asyncio
235243async def test_create_experiment_with_run_cancelled ():
@@ -256,12 +264,16 @@ async def fake_work(timeout: int):
256264
257265 run_0_obj = run_0 ._get_obj ()
258266 assert run_0_obj .status == Status .COMPLETED
267+ assert run_0_obj .duration >= 1.0
259268 run_1_obj = run_1 ._get_obj ()
260269 assert run_1_obj .status == Status .CANCELLED
270+ assert run_1_obj .duration >= 2.0
261271 run_2_obj = run_2 ._get_obj ()
262272 assert run_2_obj .status == Status .CANCELLED
273+ assert run_2_obj .duration >= 2.0
263274 run_3_obj = run_3 ._get_obj ()
264275 assert run_3_obj .status == Status .CANCELLED
276+ assert run_3_obj .duration >= 2.0
265277
266278
267279@pytest .mark .asyncio
0 commit comments