]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-90808: add more examples to `test_sched.test_priority` (GH-31144)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Wed, 21 Sep 2022 01:55:13 +0000 (18:55 -0700)
committerGitHub <noreply@github.com>
Wed, 21 Sep 2022 01:55:13 +0000 (18:55 -0700)
(cherry picked from commit 57463d43dc4277a1f4d33bd003567e947c937cf5)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
Lib/test/test_sched.py

index 7ae7baae85e2c9ac02538950e30ed3ffe53020e8..b9c8ea396a4dc8c5a543348d74613bb3575b578f 100644 (file)
@@ -91,10 +91,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 = []