summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/test_sched.py21
1 files changed, 17 insertions, 4 deletions
diff --git a/Lib/test/test_sched.py b/Lib/test/test_sched.py
index 32cc810..eb52ac7 100644
--- a/Lib/test/test_sched.py
+++ b/Lib/test/test_sched.py
@@ -92,10 +92,23 @@ class TestCase(unittest.TestCase):
l = []
fun = lambda x: l.append(x)
scheduler = sched.scheduler(time.time, time.sleep)
- for priority in [1, 2, 3, 4, 5]:
- z = scheduler.enterabs(0.01, priority, fun, (priority,))
- scheduler.run()
- self.assertEqual(l, [1, 2, 3, 4, 5])
+
+ cases = [
+ ([1, 2, 3, 4, 5], [1, 2, 3, 4, 5]),
+ ([5, 4, 3, 2, 1], [1, 2, 3, 4, 5]),
+ ([2, 5, 3, 1, 4], [1, 2, 3, 4, 5]),
+ ([1, 2, 3, 2, 1], [1, 1, 2, 2, 3]),
+ ]
+ for priorities, expected in cases:
+ with self.subTest(priorities=priorities, expected=expected):
+ for priority in priorities:
+ scheduler.enterabs(0.01, priority, fun, (priority,))
+ scheduler.run()
+ self.assertEqual(l, expected)
+
+ # Cleanup:
+ self.assertTrue(scheduler.empty())
+ l.clear()
def test_cancel(self):
l = []