@@ -51,9 +51,11 @@ def start_task_manager():
5151 if not started :
5252 self .fail ("WebServer failed to start" )
5353
54- startup_wait = 1 .0
54+ startup_wait = 3 .0
5555 startup_wait_start = time .time ()
5656 while (time .time () - startup_wait_start ) < startup_wait :
57+ if WebServer .is_started ():
58+ break
5759 time .sleep (0.05 )
5860
5961 response_state = {"data" : None , "error" : None , "done" : False }
@@ -63,7 +65,7 @@ async def download_task():
6365 last_error = None
6466 url_attempts = ["http://localhost:7890/" , "http://127.0.0.1:7890/" ]
6567 for url in url_attempts :
66- for _ in range (15 ):
68+ for _ in range (20 ):
6769 try :
6870 response_bytes = await DownloadManager .download_url (url )
6971 break
@@ -74,7 +76,9 @@ async def download_task():
7476 break
7577
7678 if response_bytes is None :
77- response_state ["error" ] = last_error
79+ response_state ["error" ] = last_error or RuntimeError (
80+ "WebServer did not respond before timeout"
81+ )
7882 else :
7983 response_state ["data" ] = response_bytes
8084 response_state ["done" ] = True
@@ -87,7 +91,8 @@ async def download_task():
8791 time .sleep (0.1 )
8892
8993 if response_state ["data" ] is None :
90- raise response_state ["error" ]
94+ error = response_state ["error" ]
95+ self .fail (f"WebServer response unavailable: { error } " )
9196
9297 response_text = response_state ["data" ].decode ("utf-8" , "replace" )
9398 self .assertIn ("<title>MicroPythonOS WebREPL</title>" , response_text )
0 commit comments