Skip to content

Commit e358fd5

Browse files
authored
properly parse and format the nodeid of errored test modules (#15)
* correctly parse the nodeid of errored test modules * special format for the nodeid of errored test modules
1 parent 24fc30b commit e358fd5

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

parse_logs.py

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,16 +98,29 @@ def _(report: CollectReport):
9898
if report.nodeid == "":
9999
return CollectionError(name=test_collection_stage, repr_=str(report.longrepr))
100100

101-
parsed = parse_nodeid(report.nodeid)
102-
message = report.longrepr.split("\n")[-1].removeprefix("E").lstrip()
101+
if "::" not in report.nodeid:
102+
parsed = {
103+
"filepath": report.nodeid,
104+
"name": None,
105+
"variant": None,
106+
}
107+
else:
108+
parsed = parse_nodeid(report.nodeid)
109+
110+
if isinstance(report.longrepr, str):
111+
message = report.longrepr.split("\n")[-1].removeprefix("E").lstrip()
112+
else:
113+
message = report.longrepr.chain[0][1].message
103114
return PreformattedReport(message=message, **parsed)
104115

105116

106117
def format_summary(report):
107118
if report.variant is not None:
108119
return f"{report.filepath}::{report.name}[{report.variant}]: {report.message}"
109-
else:
120+
elif report.name is not None:
110121
return f"{report.filepath}::{report.name}: {report.message}"
122+
else:
123+
return f"{report.filepath}: {report.message}"
111124

112125

113126
def format_report(summaries, py_version):

0 commit comments

Comments
 (0)