Skip to content

Commit

Permalink
Merge pull request #135 from mkoura/env_for_allure
Browse files Browse the repository at this point in the history
Save environment info for Allure report
  • Loading branch information
mkoura committed Sep 21, 2020
2 parents 26226cf + ca2182a commit 64c9ea9
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 4 deletions.
4 changes: 4 additions & 0 deletions cardano_node_tests/tests/conftest.py
Expand Up @@ -37,6 +37,8 @@ def pytest_configure(config: Any) -> None:
config._metadata["cardano-node"] = cardano_version["cardano-node"]
config._metadata["cardano-node rev"] = cardano_version["git_rev"]
config._metadata["ghc"] = cardano_version["ghc"]
config._metadata["tests rev"] = helpers.CURRENT_COMMIT
config._metadata["github url"] = helpers.GITHUB_URL


@pytest.fixture(scope="session")
Expand All @@ -59,6 +61,8 @@ def _run_cluster_cleanup(
cluster_manager_obj.stop()
# process artifacts
helpers.process_artifacts(pytest_tmp_dir=pytest_tmp_dir, request=request)
# save environment info for Allure
helpers.save_env_for_allure(request)


@pytest.yield_fixture(scope="session")
Expand Down
25 changes: 21 additions & 4 deletions cardano_node_tests/utils/helpers.py
Expand Up @@ -33,6 +33,8 @@


LOGGER = logging.getLogger(__name__)

LAUNCH_PATH = Path(os.getcwd())
ADDR_DATA = "addr_data.pickle"

TEST_TEMP_DIR = Path(tempfile.gettempdir()) / "cardano-node-tests"
Expand Down Expand Up @@ -69,6 +71,7 @@ def run_shell_command(command: str, workdir: FileType = "") -> bytes:


CURRENT_COMMIT = run_shell_command("git rev-parse HEAD").decode().strip()
GITHUB_URL = f"https://github.com/input-output-hk/cardano-node-tests/blob/{CURRENT_COMMIT}"


def get_vcs_link() -> str:
Expand All @@ -77,10 +80,7 @@ def get_vcs_link() -> str:
lineno = calling_frame.f_lineno + 1 # type: ignore
fname = calling_frame.f_globals["__file__"] # type: ignore
fpart = fname[fname.find("cardano_node_tests") :]
url = (
f"https://github.com/input-output-hk/cardano-node-tests/blob/{CURRENT_COMMIT}"
f"/{fpart}#L{lineno}"
)
url = f"{GITHUB_URL}/{fpart}#L{lineno}"
return url


Expand Down Expand Up @@ -747,3 +747,20 @@ def process_artifacts(pytest_tmp_dir: Path, request: FixtureRequest) -> None:
errors = search_cluster_artifacts(artifacts_dir)
if errors:
report_artifacts_errors(errors)


def save_env_for_allure(request: FixtureRequest) -> None:
"""Save environment info in a format for Allure."""
alluredir = request.config.getoption("--alluredir")

if not alluredir:
return

alluredir = LAUNCH_PATH / alluredir
metadata: Dict[str, Any] = request.config._metadata # type: ignore
with open(alluredir / "environment.properties", "w+") as infile:
for k, v in metadata.items():
if isinstance(v, dict):
continue
name = k.replace(" ", ".")
infile.write(f"{name}={v}\n")

0 comments on commit 64c9ea9

Please sign in to comment.