Skip to content

Commit 68859e4

Browse files
committed
Fix parser: always return PassedFailed with same columns, even if empty
1 parent 11605b9 commit 68859e4

1 file changed

Lines changed: 33 additions & 37 deletions

File tree

flapy/results_parser.py

Lines changed: 33 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,36 @@ def eval_string_to_set(obj):
177177

178178

179179
class PassedFailed:
180+
181+
columns = [
182+
"Iteration",
183+
"Iteration_status",
184+
#
185+
"Project_Name",
186+
"Project_URL",
187+
"Project_Hash",
188+
"Test_filename",
189+
"Test_classname",
190+
"Test_name",
191+
"Test_parametrization",
192+
#
193+
"Passed_sameOrder",
194+
"Failed_sameOrder",
195+
"Error_sameOrder",
196+
"Skipped_sameOrder",
197+
"Verdict_sameOrder",
198+
"Verdicts_sameOrder",
199+
"numRuns_sameOrder",
200+
#
201+
"Passed_randomOrder",
202+
"Failed_randomOrder",
203+
"Error_randomOrder",
204+
"Skipped_randomOrder",
205+
"Verdict_randomOrder",
206+
"Verdicts_randomOrder",
207+
"numRuns_randomOrder",
208+
]
209+
180210
def __init__(self, df: pd.DataFrame):
181211
self._df = df
182212

@@ -955,12 +985,7 @@ def get_passed_failed(
955985
)
956986
except Exception as e:
957987
logging.error(f"{type(e).__name__}: {e} in {self.p}")
958-
return pd.DataFrame(
959-
{
960-
"Iteration": [self.p.name],
961-
"Iteration_status": [f"{type(e).__name__}: {e}"],
962-
}
963-
)
988+
return pd.DataFrame(columns=PassedFailed.columns)
964989

965990
junit_data.insert(0, "Iteration", self.p.name)
966991
junit_data.insert(1, "Project_Name", self.get_project_name())
@@ -1057,36 +1082,7 @@ def get_passed_failed(
10571082

10581083
passed_failed.insert(1, "Iteration_status", "ok")
10591084

1060-
return passed_failed[
1061-
[
1062-
"Iteration",
1063-
"Iteration_status",
1064-
#
1065-
"Project_Name",
1066-
"Project_URL",
1067-
"Project_Hash",
1068-
"Test_filename",
1069-
"Test_classname",
1070-
"Test_name",
1071-
"Test_parametrization",
1072-
#
1073-
"Passed_sameOrder",
1074-
"Failed_sameOrder",
1075-
"Error_sameOrder",
1076-
"Skipped_sameOrder",
1077-
"Verdict_sameOrder",
1078-
"Verdicts_sameOrder",
1079-
"numRuns_sameOrder",
1080-
#
1081-
"Passed_randomOrder",
1082-
"Failed_randomOrder",
1083-
"Error_randomOrder",
1084-
"Skipped_randomOrder",
1085-
"Verdict_randomOrder",
1086-
"Verdicts_randomOrder",
1087-
"numRuns_randomOrder",
1088-
]
1089-
]
1085+
return passed_failed[PassedFailed.columns]
10901086

10911087
def get_coverage_raw_data(self) -> List[Dict]:
10921088
"""Read branch- and line-coverage from coverage-xml
@@ -1660,7 +1656,7 @@ def _compute_passed_failed(self, read_iteration_cache, write_iteration_cache):
16601656
"""
16611657
if len(self.get_iterations()) == 0:
16621658
logging.warning(f"ResultsDir {self} contains no iterations")
1663-
return pd.DataFrame()
1659+
return pd.DataFrame(columns=PassedFailed.columns)
16641660
with multiprocessing.Pool() as pool:
16651661
passed_failed = pd.concat(
16661662
pool.map(

0 commit comments

Comments
 (0)