forked from platformio/platformio-core
Export test suite directory
This commit is contained in:
@ -156,9 +156,6 @@ def cli( # pylint: disable=too-many-arguments,too-many-locals,redefined-builtin
|
|||||||
runner.start(ctx)
|
runner.start(ctx)
|
||||||
print_suite_footer(test_suite)
|
print_suite_footer(test_suite)
|
||||||
|
|
||||||
# Reset custom project config
|
|
||||||
app.set_session_var("custom_project_conf", None)
|
|
||||||
|
|
||||||
stdout_report = TestReportFactory.new("stdout", test_result)
|
stdout_report = TestReportFactory.new("stdout", test_result)
|
||||||
stdout_report.generate(verbose=verbose or list_tests)
|
stdout_report.generate(verbose=verbose or list_tests)
|
||||||
|
|
||||||
@ -171,6 +168,9 @@ def cli( # pylint: disable=too-many-arguments,too-many-locals,redefined-builtin
|
|||||||
custom_report = TestReportFactory.new(output_format, test_result)
|
custom_report = TestReportFactory.new(output_format, test_result)
|
||||||
custom_report.generate(output_path=output_path, verbose=True)
|
custom_report.generate(output_path=output_path, verbose=True)
|
||||||
|
|
||||||
|
# Reset custom project config
|
||||||
|
app.set_session_var("custom_project_conf", None)
|
||||||
|
|
||||||
if test_result.is_errored or test_result.get_status_nums(TestStatus.FAILED):
|
if test_result.is_errored or test_result.get_status_nums(TestStatus.FAILED):
|
||||||
raise exception.ReturnErrorCode(1)
|
raise exception.ReturnErrorCode(1)
|
||||||
|
|
||||||
|
@ -35,6 +35,7 @@ def list_test_names(project_config):
|
|||||||
|
|
||||||
def list_test_suites(project_config, environments, filters, ignores):
|
def list_test_suites(project_config, environments, filters, ignores):
|
||||||
result = []
|
result = []
|
||||||
|
test_dir = project_config.get("platformio", "test_dir")
|
||||||
default_envs = project_config.default_envs()
|
default_envs = project_config.default_envs()
|
||||||
test_names = list_test_names(project_config)
|
test_names = list_test_names(project_config)
|
||||||
for env_name in project_config.envs():
|
for env_name in project_config.envs():
|
||||||
@ -58,5 +59,16 @@ def list_test_suites(project_config, environments, filters, ignores):
|
|||||||
test_name != "*"
|
test_name != "*"
|
||||||
and any(fnmatch(test_name, p) for p in patterns["ignore"]),
|
and any(fnmatch(test_name, p) for p in patterns["ignore"]),
|
||||||
]
|
]
|
||||||
result.append(TestSuite(env_name, test_name, finished=any(skip_conditions)))
|
result.append(
|
||||||
|
TestSuite(
|
||||||
|
env_name,
|
||||||
|
test_name,
|
||||||
|
finished=any(skip_conditions),
|
||||||
|
test_dir=os.path.abspath(
|
||||||
|
test_dir
|
||||||
|
if test_name == "*"
|
||||||
|
else os.path.join(test_dir, test_name)
|
||||||
|
),
|
||||||
|
)
|
||||||
|
)
|
||||||
return result
|
return result
|
||||||
|
@ -59,6 +59,7 @@ class JsonTestReport(TestReportBase):
|
|||||||
result = dict(
|
result = dict(
|
||||||
env_name=test_suite.env_name,
|
env_name=test_suite.env_name,
|
||||||
test_name=test_suite.test_name,
|
test_name=test_suite.test_name,
|
||||||
|
test_dir=test_suite.test_dir,
|
||||||
status=test_suite.status.name,
|
status=test_suite.status.name,
|
||||||
duration=test_suite.duration,
|
duration=test_suite.duration,
|
||||||
timestamp=datetime.datetime.fromtimestamp(test_suite.timestamp).strftime(
|
timestamp=datetime.datetime.fromtimestamp(test_suite.timestamp).strftime(
|
||||||
|
@ -93,9 +93,10 @@ class TestCase:
|
|||||||
|
|
||||||
|
|
||||||
class TestSuite:
|
class TestSuite:
|
||||||
def __init__(self, env_name, test_name, finished=False):
|
def __init__(self, env_name, test_name, finished=False, test_dir=None):
|
||||||
self.env_name = env_name
|
self.env_name = env_name
|
||||||
self.test_name = test_name
|
self.test_name = test_name
|
||||||
|
self.test_dir = test_dir
|
||||||
self.timestamp = 0
|
self.timestamp = 0
|
||||||
self.duration = 0
|
self.duration = 0
|
||||||
self._cases = []
|
self._cases = []
|
||||||
|
Reference in New Issue
Block a user