Skip to content

Commit 5f85707

Browse files
authored
Regression tests: display stdout/stderr even if there was an exception before the report could be created. (#38008)
1 parent b3da013 commit 5f85707

File tree

1 file changed

+11
-4
lines changed
  • airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps

1 file changed

+11
-4
lines changed

airbyte-ci/connectors/pipelines/pipelines/airbyte_ci/connectors/test/steps/common.py

+11-4
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import datetime
88
import os
99
import time
10+
import traceback
1011
from abc import ABC, abstractmethod
1112
from functools import cached_property
1213
from pathlib import Path
@@ -17,7 +18,7 @@
1718
import semver
1819
import yaml # type: ignore
1920
from dagger import Container, Directory
20-
from pipelines import hacks
21+
from pipelines import hacks, main_logger
2122
from pipelines.airbyte_ci.connectors.consts import CONNECTOR_TEST_STEP_ID
2223
from pipelines.airbyte_ci.connectors.context import ConnectorContext
2324
from pipelines.airbyte_ci.steps.docker import SimpleDockerStep
@@ -416,12 +417,18 @@ async def _run(self, connector_under_test_container: Container) -> StepResult:
416417
container = container.with_(hacks.never_fail_exec(self.regression_tests_command()))
417418
regression_tests_artifacts_dir = str(self.regression_tests_artifacts_dir)
418419
path_to_report = f"{regression_tests_artifacts_dir}/session_{self.run_id}/report.html"
419-
await container.file(path_to_report).export(path_to_report)
420420

421421
exit_code, stdout, stderr = await get_exec_result(container)
422422

423-
with open(path_to_report, "r") as fp:
424-
regression_test_report = fp.read()
423+
if "report.html" not in await container.directory(f"{regression_tests_artifacts_dir}/session_{self.run_id}").entries():
424+
main_logger.exception(
425+
"The report file was not generated, an unhandled error likely happened during regression test execution, please check the step stderr and stdout for more details"
426+
)
427+
regression_test_report = None
428+
else:
429+
await container.file(path_to_report).export(path_to_report)
430+
with open(path_to_report, "r") as fp:
431+
regression_test_report = fp.read()
425432

426433
return StepResult(
427434
step=self,

0 commit comments

Comments
 (0)