Skip to content

Commit 99218bb

Browse files
committed
TST: Refactor event class tests
1 parent 2cf2dc8 commit 99218bb

File tree

1 file changed

+16
-24
lines changed

1 file changed

+16
-24
lines changed

cuda_core/tests/test_event.py

Lines changed: 16 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -20,37 +20,27 @@ def test_event_init_disabled():
2020
cuda.core.experimental._event.Event() # Ensure back door is locked.
2121

2222

23-
@pytest.mark.parametrize("enable_timing", [True, False, None])
24-
def test_timing(init_cuda, enable_timing):
25-
options = EventOptions(enable_timing=enable_timing)
23+
def test_timing_success(init_cuda):
24+
options = EventOptions(enable_timing=True)
2625
stream = Device().create_stream()
2726
delay_seconds = 0.5
2827
e1 = stream.record(options=options)
2928
time.sleep(delay_seconds)
3029
e2 = stream.record(options=options)
3130
e2.sync()
32-
for e in (e1, e2):
33-
assert e.is_timing_disabled == (True if enable_timing is None else not enable_timing)
34-
if enable_timing:
35-
elapsed_time_ms = e2 - e1
36-
assert isinstance(elapsed_time_ms, float)
37-
# Using a generous tolerance, to avoid flaky tests:
38-
# We only want to exercise the __sub__ method, this test is not meant
39-
# to stress-test the CUDA driver or time.sleep().
40-
delay_ms = delay_seconds * 1000
41-
if os.name == "nt": # noqa: SIM108
42-
# For Python <=3.10, the Windows timer resolution is typically limited to 15.6 ms by default.
43-
generous_tolerance = 100
44-
else:
45-
# Most modern Linux kernels have a default timer resolution of 1 ms.
46-
generous_tolerance = 20
47-
assert delay_ms - generous_tolerance <= elapsed_time_ms < delay_ms + generous_tolerance
31+
elapsed_time_ms = e2 - e1
32+
assert isinstance(elapsed_time_ms, float)
33+
# Using a generous tolerance, to avoid flaky tests:
34+
# We only want to exercise the __sub__ method, this test is not meant
35+
# to stress-test the CUDA driver or time.sleep().
36+
delay_ms = delay_seconds * 1000
37+
if os.name == "nt": # noqa: SIM108
38+
# For Python <=3.10, the Windows timer resolution is typically limited to 15.6 ms by default.
39+
generous_tolerance = 100
4840
else:
49-
with pytest.raises(RuntimeError) as e:
50-
elapsed_time_ms = e2 - e1
51-
msg = str(e)
52-
assert "disabled by default" in msg
53-
assert "CUDA_ERROR_INVALID_HANDLE" in msg
41+
# Most modern Linux kernels have a default timer resolution of 1 ms.
42+
generous_tolerance = 20
43+
assert delay_ms - generous_tolerance <= elapsed_time_ms < delay_ms + generous_tolerance
5444

5545

5646
def test_is_sync_busy_waited(init_cuda):
@@ -91,6 +81,8 @@ def test_error_timing_disabled():
9181

9282
event1 = stream.record(options=enabled)
9383
event2 = stream.record(options=disabled)
84+
assert not event1.is_timing_disabled
85+
assert event2.is_timing_disabled
9486
stream.sync()
9587
with pytest.raises(RuntimeError, match="^Both Events must be created with timing enabled"):
9688
event2 - event1

0 commit comments

Comments
 (0)