Skip to content

Commit 8e4b4fe

Browse files
committed
lcbc016 uses lock instead of sleep.
1 parent 58bd9b8 commit 8e4b4fe

File tree

2 files changed

+30
-26
lines changed

2 files changed

+30
-26
lines changed

tests/integration/long_callback/app_page_cancel.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
from dash import Dash, Input, Output, dcc, html, page_container, register_page
22

3-
import time
4-
53
from tests.integration.long_callback.utils import get_long_callback_manager
64

75
long_callback_manager = get_long_callback_manager()
@@ -23,7 +21,7 @@
2321
page_container,
2422
]
2523
)
26-
24+
app.test_lock = lock = long_callback_manager.test_lock
2725

2826
register_page(
2927
"one",
@@ -78,7 +76,8 @@ def on_click_no_cancel(_):
7876
interval=300,
7977
)
8078
def on_click1(n_clicks):
81-
time.sleep(2)
79+
with lock:
80+
pass
8281
return f"Click {n_clicks}"
8382

8483

@@ -97,7 +96,8 @@ def on_click1(n_clicks):
9796
interval=300,
9897
)
9998
def on_click1(n_clicks):
100-
time.sleep(2)
99+
with lock:
100+
pass
101101
return f"Click {n_clicks}"
102102

103103

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import sys
2-
import time
32

43
import pytest
54

@@ -12,32 +11,37 @@
1211
def test_lcbc016_multi_page_cancel(dash_duo, manager):
1312
with setup_long_callback_app(manager, "app_page_cancel") as app:
1413
dash_duo.start_server(app)
15-
dash_duo.find_element("#start1").click()
16-
dash_duo.wait_for_text_to_equal("#progress1", "running")
17-
dash_duo.find_element("#shared_cancel").click()
18-
dash_duo.wait_for_text_to_equal("#progress1", "idle")
19-
time.sleep(2.1)
14+
15+
with app.test_lock:
16+
dash_duo.find_element("#start1").click()
17+
dash_duo.wait_for_text_to_equal("#progress1", "running")
18+
dash_duo.find_element("#shared_cancel").click()
19+
dash_duo.wait_for_text_to_equal("#progress1", "idle")
20+
2021
dash_duo.wait_for_text_to_equal("#output1", "initial")
2122

22-
dash_duo.find_element("#start1").click()
23-
dash_duo.wait_for_text_to_equal("#progress1", "running")
24-
dash_duo.find_element("#cancel1").click()
25-
dash_duo.wait_for_text_to_equal("#progress1", "idle")
26-
time.sleep(2.1)
23+
with app.test_lock:
24+
dash_duo.find_element("#start1").click()
25+
dash_duo.wait_for_text_to_equal("#progress1", "running")
26+
dash_duo.find_element("#cancel1").click()
27+
dash_duo.wait_for_text_to_equal("#progress1", "idle")
28+
2729
dash_duo.wait_for_text_to_equal("#output1", "initial")
2830

2931
dash_duo.server_url = dash_duo.server_url + "/2"
3032

31-
dash_duo.find_element("#start2").click()
32-
dash_duo.wait_for_text_to_equal("#progress2", "running")
33-
dash_duo.find_element("#shared_cancel").click()
34-
dash_duo.wait_for_text_to_equal("#progress2", "idle")
35-
time.sleep(2.1)
33+
with app.test_lock:
34+
dash_duo.find_element("#start2").click()
35+
dash_duo.wait_for_text_to_equal("#progress2", "running")
36+
dash_duo.find_element("#shared_cancel").click()
37+
dash_duo.wait_for_text_to_equal("#progress2", "idle")
38+
3639
dash_duo.wait_for_text_to_equal("#output2", "initial")
3740

38-
dash_duo.find_element("#start2").click()
39-
dash_duo.wait_for_text_to_equal("#progress2", "running")
40-
dash_duo.find_element("#cancel2").click()
41-
dash_duo.wait_for_text_to_equal("#progress2", "idle")
42-
time.sleep(2.1)
41+
with app.test_lock:
42+
dash_duo.find_element("#start2").click()
43+
dash_duo.wait_for_text_to_equal("#progress2", "running")
44+
dash_duo.find_element("#cancel2").click()
45+
dash_duo.wait_for_text_to_equal("#progress2", "idle")
46+
4347
dash_duo.wait_for_text_to_equal("#output2", "initial")

0 commit comments

Comments
 (0)