Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 33 additions & 23 deletions anypytools/pytest_plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,41 +5,40 @@

@author: Morten
"""
import argparse
import ast
import collections
import contextlib
import itertools
import os
import re
import ast
import time
import shutil
import time
import warnings
import argparse
import itertools
import contextlib
import collections
from pathlib import Path
from traceback import format_list, extract_tb
from traceback import extract_tb, format_list

import pytest

# from _pytest.fixtures import FixtureRequest
# from _pytest.fixtures import TopRequest


from pytest import TempPathFactory

from anypytools import AnyPyProcess, macro_commands
from anypytools.tools import (
ON_WINDOWS,
get_anybodycon_path,
replace_bm_constants,
get_bm_constants,
AMSVersion,
anybodycon_version,
find_ammr_path,
get_ammr_version,
get_anybodycon_path,
get_bm_constants,
replace_bm_constants,
winepath,
wraptext,
AMSVersion,
)

# from _pytest.fixtures import FixtureRequest
# from _pytest.fixtures import TopRequest


__all__ = [
"AnyTestFile",
"AnyTestItem",
Expand All @@ -54,6 +53,13 @@
RUN_TEST_TIME_VARIABLE = "Main.RunTest.RunDurationCPUThread"


def _sanitize_path(path):
if isinstance(path, str):
while "\\\\" in path:
path = path.replace("\\\\", "\\")
return path


def _is_load_duration_supported():
return AMSVersion.from_string(pytest.anytest.ams_version) >= (7, 5, 0, 10759)

Expand All @@ -77,9 +83,13 @@ def configure(self, config):
early in the pytest startup.
"""

ammr_path = find_ammr_path(config.getoption("--ammr") or config.rootdir)
ammr_path = find_ammr_path(
_sanitize_path(config.getoption("--ammr")) or config.rootdir
)
self.ammr_version = get_ammr_version(ammr_path)
self.ams_path = config.getoption("--anybodycon") or get_anybodycon_path()
self.ams_path = (
_sanitize_path(config.getoption("--anybodycon")) or get_anybodycon_path()
)
self.ams_path = os.path.abspath(self.ams_path) if self.ams_path else ""
self.ams_version = anybodycon_version(self.ams_path)
major_ammr_ver = 1 if self.ammr_version.startswith("1") else 2
Expand Down Expand Up @@ -293,8 +303,9 @@ def __init__(self, name, id, parent, any_defs, any_paths, **kwargs):
self.any_defs[k] = v
self.any_defs["TEST_NAME"] = f'"{test_name}"'
if self.config.getoption("--ammr"):
any_paths["AMMR_PATH"] = self.config.getoption("--ammr")
any_paths["ANYBODY_PATH_AMMR"] = self.config.getoption("--ammr")
ammr_path = _sanitize_path(self.config.getoption("--ammr"))
any_paths["AMMR_PATH"] = ammr_path
any_paths["ANYBODY_PATH_AMMR"] = ammr_path
self.any_paths = _as_absolute_paths(any_paths, start=self.config.rootdir)
self.name = test_name
self.expect_errors = kwargs.get("expect_errors", [])
Expand Down Expand Up @@ -442,9 +453,8 @@ def runtest(self):

# Add info to the hdf5 file if compare output was set
if self.hdf5_outputs:
base = Path(
self.config.getoption("--anytest-output") or DEFAULT_ANYTEST_OUTPUT
)
anytest_output = _sanitize_path(self.config.getoption("--anytest-output"))
base = Path(anytest_output or DEFAULT_ANYTEST_OUTPUT)
subfolder = Path(self.config.getoption("--anytest-name"))
target = base / subfolder / self.name
self.save_output_files(tmpdir, target, result, self.hdf5_outputs)
Expand Down
2 changes: 1 addition & 1 deletion pixi.toml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ twine = "*"

[feature.build.tasks]
clean-build = "rm -rf build dist"
publish = {cmd="op run --env-file=upload.env -- flit publish"}
publish = {cmd='echo "Publishing to pypi is done by making a release on github"'}
build = {cmd="flit build", depends-on=["clean-build"]}
check-wheel = "twine check dist/*"

Expand Down