@@ -196,7 +196,6 @@ def __call__(self, message: str) -> None:
196196class SocketIONodeProgressCompleteWaiter :
197197 node_id : str
198198 logger : logging .Logger
199- _last_call_return : bool = False
200199 _current_progress : dict [NodeProgressType , float ] = field (
201200 default_factory = defaultdict
202201 )
@@ -224,24 +223,24 @@ def __call__(self, message: str) -> bool:
224223 self ._current_progress [
225224 node_progress_event .progress_type
226225 ] = new_progress
226+
227227 self .logger .info (
228- "current startup progress: %s" ,
228+ "Current startup progress [expected number of node-progress-types=%d]: %s" ,
229+ NodeProgressType .required_types_for_started_service (),
229230 f"{ json .dumps ({k :round (v ,1 ) for k ,v in self ._current_progress .items ()})} " ,
230231 )
231232
232- self ._last_call_return = all (
233- progress_type in self ._current_progress
234- for progress_type in NodeProgressType .required_types_for_started_service ()
235- ) and all (
233+ return self .got_expected_node_progress_types () and all (
236234 round (progress , 1 ) == 1.0
237235 for progress in self ._current_progress .values ()
238236 )
239- return self ._last_call_return
240- self ._last_call_return = False
241237 return False
242238
243- def get_last_call_return (self ):
244- return self ._last_call_return
239+ def got_expected_node_progress_types (self ):
240+ return all (
241+ progress_type in self ._current_progress
242+ for progress_type in NodeProgressType .required_types_for_started_service ()
243+ )
245244
246245 def get_current_progress (self ):
247246 return self ._current_progress .values ()
@@ -339,16 +338,17 @@ def expected_service_running(
339338 service_running = ServiceRunning (iframe_locator = None )
340339
341340 try :
341+
342342 with websocket .expect_event ("framereceived" , waiter , timeout = timeout ):
343343 if press_start_button :
344344 _trigger_service_start (page , node_id )
345345
346346 yield service_running
347347
348348 except PlaywrightTimeoutError :
349- if waiter .get_last_call_return () is False :
349+ if waiter .got_expected_node_progress_types () :
350350 ctx .logger .warning (
351- "⚠️ Progress bar didn't receive 100 percent: %s ⚠️" , # https://github.com/ITISFoundation/osparc-simcore/issues/6449
351+ "⚠️ Progress bar didn't receive 100 percent but all expected node-progress-types are in place : %s ⚠️" , # https://github.com/ITISFoundation/osparc-simcore/issues/6449
352352 waiter .get_current_progress (),
353353 )
354354 else :
0 commit comments