Skip to content

Commit fdc6c8e

Browse files
committed
Fix wrong way to catch exception in test
1 parent 8db539c commit fdc6c8e

File tree

1 file changed

+53
-58
lines changed
  • scripts/py_matter_yamltests/matter_yamltests

1 file changed

+53
-58
lines changed

scripts/py_matter_yamltests/matter_yamltests/runner.py

+53-58
Original file line numberDiff line numberDiff line change
@@ -172,61 +172,56 @@ async def _run_with_timeout(self, parser: TestParser, config: TestRunnerConfig):
172172

173173
async def _run(self, parser: TestParser, config: TestRunnerConfig):
174174
status = True
175-
try:
176-
hooks = config.hooks
177-
hooks.test_start(parser.filename, parser.name, parser.tests.count)
178-
179-
test_duration = 0
180-
for idx, request in enumerate(parser.tests):
181-
if not request.is_pics_enabled:
182-
hooks.step_skipped(request.label, request.pics)
183-
continue
184-
elif not config.adapter:
185-
hooks.step_start(request)
186-
hooks.step_unknown()
187-
continue
188-
elif config.pseudo_clusters.is_manual_step(request):
189-
hooks.step_start(request)
190-
await hooks.step_manual()
191-
continue
192-
else:
193-
hooks.step_start(request)
194-
195-
start = time.time()
196-
if config.pseudo_clusters.supports(request):
197-
responses, logs = await config.pseudo_clusters.execute(request, parser.definitions)
198-
else:
199-
encoded_request = config.adapter.encode(request)
200-
encoded_response = await self.execute(encoded_request)
201-
responses, logs = config.adapter.decode(encoded_response)
202-
duration = round((time.time() - start) * 1000, 2)
203-
test_duration += duration
204-
205-
logger = request.post_process_response(responses)
206-
207-
if logger.is_failure():
208-
hooks.step_failure(logger, logs, duration,
209-
request, responses)
210-
else:
211-
hooks.step_success(logger, logs, duration, request)
212-
213-
if logger.is_failure() and config.options.stop_on_error:
214-
status = False
215-
break
216-
217-
if logger.warnings and config.options.stop_on_warning:
218-
status = False
219-
break
220-
221-
if (idx + 1) == config.options.stop_at_number:
222-
break
223-
224-
if config.options.delay_in_ms:
225-
await asyncio.sleep(config.options.delay_in_ms / 1000)
226-
227-
hooks.test_stop(round(test_duration))
228-
229-
except Exception as exception:
230-
status = exception
231-
finally:
232-
return status
175+
hooks = config.hooks
176+
hooks.test_start(parser.filename, parser.name, parser.tests.count)
177+
178+
test_duration = 0
179+
for idx, request in enumerate(parser.tests):
180+
if not request.is_pics_enabled:
181+
hooks.step_skipped(request.label, request.pics)
182+
continue
183+
elif not config.adapter:
184+
hooks.step_start(request)
185+
hooks.step_unknown()
186+
continue
187+
elif config.pseudo_clusters.is_manual_step(request):
188+
hooks.step_start(request)
189+
await hooks.step_manual()
190+
continue
191+
else:
192+
hooks.step_start(request)
193+
194+
start = time.time()
195+
if config.pseudo_clusters.supports(request):
196+
responses, logs = await config.pseudo_clusters.execute(request, parser.definitions)
197+
else:
198+
encoded_request = config.adapter.encode(request)
199+
encoded_response = await self.execute(encoded_request)
200+
responses, logs = config.adapter.decode(encoded_response)
201+
duration = round((time.time() - start) * 1000, 2)
202+
test_duration += duration
203+
204+
logger = request.post_process_response(responses)
205+
206+
if logger.is_failure():
207+
hooks.step_failure(logger, logs, duration,
208+
request, responses)
209+
else:
210+
hooks.step_success(logger, logs, duration, request)
211+
212+
if logger.is_failure() and config.options.stop_on_error:
213+
status = False
214+
break
215+
216+
if logger.warnings and config.options.stop_on_warning:
217+
status = False
218+
break
219+
220+
if (idx + 1) == config.options.stop_at_number:
221+
break
222+
223+
if config.options.delay_in_ms:
224+
await asyncio.sleep(config.options.delay_in_ms / 1000)
225+
226+
hooks.test_stop(round(test_duration))
227+
return status

0 commit comments

Comments
 (0)