From 56376361a941383555e2db129baf34250d409b06 Mon Sep 17 00:00:00 2001 From: Mark <1515135+MarkKoz@users.noreply.github.com> Date: Sat, 16 Sep 2023 11:51:40 -0700 Subject: Refactor modules into subpackages --- tests/limits/test_timed.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 tests/limits/test_timed.py (limited to 'tests/limits/test_timed.py') diff --git a/tests/limits/test_timed.py b/tests/limits/test_timed.py new file mode 100644 index 0000000..8a1119b --- /dev/null +++ b/tests/limits/test_timed.py @@ -0,0 +1,30 @@ +import math +import time +from unittest import TestCase + +from snekbox.limits.timed import time_limit + + +class TimedTests(TestCase): + def test_sleep(self): + """Test that a sleep can be interrupted.""" + _finished = False + start = time.perf_counter() + with self.assertRaises(TimeoutError): + with time_limit(1): + time.sleep(2) + _finished = True + end = time.perf_counter() + self.assertLess(end - start, 2) + self.assertFalse(_finished) + + def test_iter(self): + """Test that a long-running built-in function can be interrupted.""" + _result = 0 + start = time.perf_counter() + with self.assertRaises(TimeoutError): + with time_limit(1): + _result = math.factorial(2**30) + end = time.perf_counter() + self.assertEqual(_result, 0) + self.assertLess(end - start, 2) -- cgit v1.2.3