From b148a43f08d3f0922b3dbcba5bc0c7a65f7a4e24 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Tue, 17 Jan 2023 20:09:38 +0100 Subject: CDashReporter: remove unused argument (#34869) * CDashReporter: remove unused argument * Removed extract_ctest_test_data --- lib/spack/spack/ci.py | 1 - lib/spack/spack/cmd/common/arguments.py | 1 - lib/spack/spack/reporters/cdash.py | 84 +++------------------------------ lib/spack/spack/test/reporters.py | 3 +- 4 files changed, 7 insertions(+), 82 deletions(-) (limited to 'lib') diff --git a/lib/spack/spack/ci.py b/lib/spack/spack/ci.py index 5ea451a94e..dfe9b419f5 100644 --- a/lib/spack/spack/ci.py +++ b/lib/spack/spack/ci.py @@ -2370,7 +2370,6 @@ class CDashHandler(object): site=self.site, buildstamp=self.build_stamp, track=None, - ctest_parsing=False, ) reporter = CDash(configuration=configuration) reporter.test_skipped_report(directory_name, spec, reason) diff --git a/lib/spack/spack/cmd/common/arguments.py b/lib/spack/spack/cmd/common/arguments.py index 7f52037f82..be341e2469 100644 --- a/lib/spack/spack/cmd/common/arguments.py +++ b/lib/spack/spack/cmd/common/arguments.py @@ -155,7 +155,6 @@ def _cdash_reporter(namespace): site=namespace.cdash_site, buildstamp=namespace.cdash_buildstamp, track=namespace.cdash_track, - ctest_parsing=getattr(namespace, "ctest_parsing", False), ) return spack.reporters.CDash(configuration=configuration) diff --git a/lib/spack/spack/reporters/cdash.py b/lib/spack/spack/reporters/cdash.py index 46a7aee9f7..628de4d88a 100644 --- a/lib/spack/spack/reporters/cdash.py +++ b/lib/spack/spack/reporters/cdash.py @@ -48,7 +48,7 @@ CDASH_PHASES.add("update") CDashConfiguration = collections.namedtuple( "CDashConfiguration", - ["upload_url", "packages", "build", "site", "buildstamp", "track", "ctest_parsing"], + ["upload_url", "packages", "build", "site", "buildstamp", "track"], ) @@ -106,7 +106,6 @@ class CDash(Reporter): self.revision = git("rev-parse", "HEAD", output=str).strip() self.generator = "spack-{0}".format(spack.main.get_version()) self.multiple_packages = False - self.ctest_parsing = configuration.ctest_parsing def report_build_name(self, pkg_name): return ( @@ -265,68 +264,6 @@ class CDash(Reporter): self.build_report_for_package(directory_name, package, duration) self.finalize_report() - def extract_ctest_test_data(self, package, phases, report_data): - """Extract ctest test data for the package.""" - # Track the phases we perform so we know what reports to create. - # We always report the update step because this is how we tell CDash - # what revision of Spack we are using. - assert "update" in phases - - for phase in phases: - report_data[phase] = {} - report_data[phase]["loglines"] = [] - report_data[phase]["status"] = 0 - report_data[phase]["endtime"] = self.endtime - - # Generate a report for this package. - # The first line just says "Testing package name-hash" - report_data["test"]["loglines"].append( - str("{0} output for {1}:".format("test", package["name"])) - ) - for line in package["stdout"].splitlines()[1:]: - report_data["test"]["loglines"].append(xml.sax.saxutils.escape(line)) - - for phase in phases: - report_data[phase]["starttime"] = self.starttime - report_data[phase]["log"] = "\n".join(report_data[phase]["loglines"]) - errors, warnings = parse_log_events(report_data[phase]["loglines"]) - # Cap the number of errors and warnings at 50 each. - errors = errors[0:49] - warnings = warnings[0:49] - - if phase == "test": - # Convert log output from ASCII to Unicode and escape for XML. - def clean_log_event(event): - event = vars(event) - event["text"] = xml.sax.saxutils.escape(event["text"]) - event["pre_context"] = xml.sax.saxutils.escape("\n".join(event["pre_context"])) - event["post_context"] = xml.sax.saxutils.escape( - "\n".join(event["post_context"]) - ) - # source_file and source_line_no are either strings or - # the tuple (None,). Distinguish between these two cases. - if event["source_file"][0] is None: - event["source_file"] = "" - event["source_line_no"] = "" - else: - event["source_file"] = xml.sax.saxutils.escape(event["source_file"]) - return event - - # Convert errors to warnings if the package reported success. - if package["result"] == "success": - warnings = errors + warnings - errors = [] - - report_data[phase]["errors"] = [] - report_data[phase]["warnings"] = [] - for error in errors: - report_data[phase]["errors"].append(clean_log_event(error)) - for warning in warnings: - report_data[phase]["warnings"].append(clean_log_event(warning)) - - if phase == "update": - report_data[phase]["revision"] = self.revision - def extract_standalone_test_data(self, package, phases, report_data): """Extract stand-alone test outputs for the package.""" @@ -361,7 +298,7 @@ class CDash(Reporter): tty.debug("Preparing to upload {0}".format(phase_report)) self.upload(phase_report) - def test_report_for_package(self, directory_name, package, duration, ctest_parsing=False): + def test_report_for_package(self, directory_name, package, duration): if "stdout" not in package: # Skip reporting on packages that did not generate any output. tty.debug("Skipping report for {0}: No generated output".format(package["name"])) @@ -377,12 +314,8 @@ class CDash(Reporter): report_data = self.initialize_report(directory_name) report_data["hostname"] = socket.gethostname() - if ctest_parsing: - phases = ["test", "update"] - self.extract_ctest_test_data(package, phases, report_data) - else: - phases = ["testing"] - self.extract_standalone_test_data(package, phases, report_data) + phases = ["testing"] + self.extract_standalone_test_data(package, phases, report_data) self.report_test_data(directory_name, package, phases, report_data) @@ -394,12 +327,7 @@ class CDash(Reporter): if "time" in spec: duration = int(spec["time"]) for package in spec["packages"]: - self.test_report_for_package( - directory_name, - package, - duration, - self.ctest_parsing, - ) + self.test_report_for_package(directory_name, package, duration) self.finalize_report() @@ -414,7 +342,7 @@ class CDash(Reporter): "result": "skipped", "stdout": output, } - self.test_report_for_package(directory_name, package, duration=0.0, ctest_parsing=False) + self.test_report_for_package(directory_name, package, duration=0.0) def concretization_report(self, directory_name, msg): self.buildname = self.base_buildname diff --git a/lib/spack/spack/test/reporters.py b/lib/spack/spack/test/reporters.py index d4eea713b8..eea765481b 100644 --- a/lib/spack/spack/test/reporters.py +++ b/lib/spack/spack/test/reporters.py @@ -163,13 +163,12 @@ def test_reporters_report_for_package_no_stdout(tmpdir, monkeypatch, capfd): site="fake-site", buildstamp=None, track="fake-track", - ctest_parsing=False, ) monkeypatch.setattr(tty, "_debug", 1) reporter = MockCDash(configuration=configuration) pkg_data = {"name": "fake-package"} - reporter.test_report_for_package(tmpdir.strpath, pkg_data, 0, False) + reporter.test_report_for_package(tmpdir.strpath, pkg_data, 0) err = capfd.readouterr()[1] assert "Skipping report for" in err assert "No generated output" in err -- cgit v1.2.3-60-g2f50