@@ -406,19 +406,28 @@ def test_lease_does_not_expire_a_strict_holder(marker: Path) -> None: # pragma:
406406
407407
408408@pytest .mark .parametrize (
409- ("lease_duration" , "heartbeat_interval" , "message" ),
409+ ("lease_duration" , "heartbeat_interval" , "error" , " message" ),
410410 [
411- pytest .param (0 , None , "lease_duration must be positive" , id = "zero-duration" ),
412- pytest .param (- 1 , None , "lease_duration must be positive" , id = "negative-duration" ),
413- pytest .param (_DURATION , 0 , "heartbeat_interval must be positive" , id = "zero-heartbeat" ),
414- pytest .param (_DURATION , _DURATION , "below lease_duration" , id = "heartbeat-equals-duration" ),
415- pytest .param (_DURATION , _DURATION * 2 , "below lease_duration" , id = "heartbeat-over-duration" ),
411+ pytest .param (0 , None , ValueError , "lease_duration must be positive" , id = "zero-duration" ),
412+ pytest .param (- 1 , None , ValueError , "lease_duration must be positive" , id = "negative-duration" ),
413+ pytest .param (float ("nan" ), _HEARTBEAT , ValueError , "positive and finite" , id = "nan-duration" ),
414+ pytest .param (float ("inf" ), _HEARTBEAT , ValueError , "positive and finite" , id = "infinite-duration" ),
415+ pytest .param (float ("-inf" ), _HEARTBEAT , ValueError , "positive and finite" , id = "negative-infinite-duration" ),
416+ pytest .param (True , None , TypeError , "number, not bool" , id = "true-duration" ),
417+ pytest .param (False , None , TypeError , "number, not bool" , id = "false-duration" ),
418+ pytest .param (_DURATION , 0 , ValueError , "heartbeat_interval must be positive" , id = "zero-heartbeat" ),
419+ pytest .param (_DURATION , _DURATION , ValueError , "below lease_duration" , id = "heartbeat-equals-duration" ),
420+ pytest .param (_DURATION , _DURATION * 2 , ValueError , "below lease_duration" , id = "heartbeat-over-duration" ),
416421 ],
417422)
418423def test_lease_rejects_incoherent_settings (
419- marker : Path , lease_duration : float , heartbeat_interval : float | None , message : str
424+ marker : Path ,
425+ lease_duration : float ,
426+ heartbeat_interval : float | None ,
427+ error : type [Exception ],
428+ message : str ,
420429) -> None :
421- with pytest .raises (ValueError , match = message ):
430+ with pytest .raises (error , match = message ):
422431 SoftFileLease (str (marker ), lease_duration = lease_duration , heartbeat_interval = heartbeat_interval )
423432
424433
0 commit comments