Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 4a72ebe

Browse files
author
Charles-François Natali
committed
Issue #13878: Fix random test_sched failures.
2 parents 292f9a8 + f670ca5 commit 4a72ebe

1 file changed

Lines changed: 15 additions & 13 deletions

File tree

Lib/test/test_sched.py

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ def test_enter(self):
1212
l = []
1313
fun = lambda x: l.append(x)
1414
scheduler = sched.scheduler(time.time, time.sleep)
15-
for x in [0.05, 0.04, 0.03, 0.02, 0.01]:
15+
for x in [0.5, 0.4, 0.3, 0.2, 0.1]:
1616
z = scheduler.enter(x, 1, fun, (x,))
1717
scheduler.run()
18-
self.assertEqual(l, [0.01, 0.02, 0.03, 0.04, 0.05])
18+
self.assertEqual(l, [0.1, 0.2, 0.3, 0.4, 0.5])
1919

2020
def test_enterabs(self):
2121
l = []
@@ -31,19 +31,20 @@ def test_priority(self):
3131
fun = lambda x: l.append(x)
3232
scheduler = sched.scheduler(time.time, time.sleep)
3333
for priority in [1, 2, 3, 4, 5]:
34-
z = scheduler.enter(0.01, priority, fun, (priority,))
34+
z = scheduler.enterabs(0.01, priority, fun, (priority,))
3535
scheduler.run()
3636
self.assertEqual(l, [1, 2, 3, 4, 5])
3737

3838
def test_cancel(self):
3939
l = []
4040
fun = lambda x: l.append(x)
4141
scheduler = sched.scheduler(time.time, time.sleep)
42-
event1 = scheduler.enter(0.01, 1, fun, (0.01,))
43-
event2 = scheduler.enter(0.02, 1, fun, (0.02,))
44-
event3 = scheduler.enter(0.03, 1, fun, (0.03,))
45-
event4 = scheduler.enter(0.04, 1, fun, (0.04,))
46-
event5 = scheduler.enter(0.05, 1, fun, (0.05,))
42+
now = time.time()
43+
event1 = scheduler.enterabs(now + 0.01, 1, fun, (0.01,))
44+
event2 = scheduler.enterabs(now + 0.02, 1, fun, (0.02,))
45+
event3 = scheduler.enterabs(now + 0.03, 1, fun, (0.03,))
46+
event4 = scheduler.enterabs(now + 0.04, 1, fun, (0.04,))
47+
event5 = scheduler.enterabs(now + 0.05, 1, fun, (0.05,))
4748
scheduler.cancel(event1)
4849
scheduler.cancel(event5)
4950
scheduler.run()
@@ -64,11 +65,12 @@ def test_queue(self):
6465
l = []
6566
fun = lambda x: l.append(x)
6667
scheduler = sched.scheduler(time.time, time.sleep)
67-
e5 = scheduler.enter(0.05, 1, fun)
68-
e1 = scheduler.enter(0.01, 1, fun)
69-
e2 = scheduler.enter(0.02, 1, fun)
70-
e4 = scheduler.enter(0.04, 1, fun)
71-
e3 = scheduler.enter(0.03, 1, fun)
68+
now = time.time()
69+
e5 = scheduler.enterabs(now + 0.05, 1, fun)
70+
e1 = scheduler.enterabs(now + 0.01, 1, fun)
71+
e2 = scheduler.enterabs(now + 0.02, 1, fun)
72+
e4 = scheduler.enterabs(now + 0.04, 1, fun)
73+
e3 = scheduler.enterabs(now + 0.03, 1, fun)
7274
# queue property is supposed to return an order list of
7375
# upcoming events
7476
self.assertEqual(list(scheduler.queue), [e1, e2, e3, e4, e5])

0 commit comments

Comments
 (0)