@@ -58,6 +58,7 @@ def test_enterabs(self):
58
58
scheduler .run ()
59
59
self .assertEqual (l , [0.01 , 0.02 , 0.03 , 0.04 , 0.05 ])
60
60
61
+ @threading_helper .requires_working_threading ()
61
62
def test_enter_concurrent (self ):
62
63
q = queue .Queue ()
63
64
fun = q .put
@@ -91,10 +92,23 @@ def test_priority(self):
91
92
l = []
92
93
fun = lambda x : l .append (x )
93
94
scheduler = sched .scheduler (time .time , time .sleep )
94
- for priority in [1 , 2 , 3 , 4 , 5 ]:
95
- z = scheduler .enterabs (0.01 , priority , fun , (priority ,))
96
- scheduler .run ()
97
- self .assertEqual (l , [1 , 2 , 3 , 4 , 5 ])
95
+
96
+ cases = [
97
+ ([1 , 2 , 3 , 4 , 5 ], [1 , 2 , 3 , 4 , 5 ]),
98
+ ([5 , 4 , 3 , 2 , 1 ], [1 , 2 , 3 , 4 , 5 ]),
99
+ ([2 , 5 , 3 , 1 , 4 ], [1 , 2 , 3 , 4 , 5 ]),
100
+ ([1 , 2 , 3 , 2 , 1 ], [1 , 1 , 2 , 2 , 3 ]),
101
+ ]
102
+ for priorities , expected in cases :
103
+ with self .subTest (priorities = priorities , expected = expected ):
104
+ for priority in priorities :
105
+ scheduler .enterabs (0.01 , priority , fun , (priority ,))
106
+ scheduler .run ()
107
+ self .assertEqual (l , expected )
108
+
109
+ # Cleanup:
110
+ self .assertTrue (scheduler .empty ())
111
+ l .clear ()
98
112
99
113
def test_cancel (self ):
100
114
l = []
@@ -111,6 +125,7 @@ def test_cancel(self):
111
125
scheduler .run ()
112
126
self .assertEqual (l , [0.02 , 0.03 , 0.04 ])
113
127
128
+ @threading_helper .requires_working_threading ()
114
129
def test_cancel_concurrent (self ):
115
130
q = queue .Queue ()
116
131
fun = q .put
0 commit comments