From 1652766da458448756d08e4a09dee1b16700c473 Mon Sep 17 00:00:00 2001 From: Daniel Smith Date: Thu, 19 Sep 2019 14:47:07 +0200 Subject: Enhance python lancebot to be a bit more verbose about failures Print out the configure summary, or tail the configure or build log if the call fails for any reason. Build failures aren't always critical issues since lancebot tests incoming patch sets, but some help about buid failures would be helpful to verify that lancebot itself is not at fault. Change-Id: I9bb2fba5b63a751e9dde98487fcbd9c9ba8a8408 Reviewed-by: Eirik Aavitsland --- scripts/lancebot/lancebot.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'scripts') diff --git a/scripts/lancebot/lancebot.py b/scripts/lancebot/lancebot.py index e362be51..aa7a6bd3 100644 --- a/scripts/lancebot/lancebot.py +++ b/scripts/lancebot/lancebot.py @@ -196,7 +196,7 @@ def checkResult(): lastLine = line.strip()[line.strip().rfind( "description: \"") + 1:-1] with open(commentfile, "w") as comment_file: - comment_file.write(lastLine) + comment_file.write(lastLine if lastLine else "Okay") if lastLine: print(f"Check Result found mismatches.") return 1 # Some mismatches were found @@ -338,6 +338,16 @@ def build(directory, module, sha, testType): stderr=configure_log, universal_newlines=True, shell=isWindowsOS) if proc.returncode: print(f"{hr} ERROR Configuring {module}. Failing build {hr}") + if os.path.exists("config.summary"): + print(f"{hhr} Dumping Configure Summary {hhr}") + with open("config.summary") as configSummary: + print(configSummary.read()) + print(f"{hhr} End of Configure Summary {hhr}") + else: + print(f"{hhr} Dumping Configure log tail {hhr}") + with open("configure.out") as configure_log_readback: + print("\n".join(configure_log_readback.readlines()[:-20])) + print(f"{hhr} End of Configure log tail {hhr}") exit(proc.returncode) else: print("Running qmake...") @@ -350,6 +360,10 @@ def build(directory, module, sha, testType): stderr=build_log, universal_newlines=True, shell=isWindowsOS) if proc.returncode: print(f"{hr} ERROR Building {module}. Failing build {hr}") + print(f"{hhr} Dumping Build log tail {hhr}") + with open("build.out") as build_log_readback: + print("\n".join(build_log_readback.readlines()[:-20])) + print(f"{hhr} End of Build log tail {hhr}") exit(proc.returncode) print(f"Running Make Install for {module}/{testType}...") @@ -621,7 +635,7 @@ new baselines to Lancelot.") resultsData = parseResults( f"{testBaseDir}/{module}/{testDir}/results.xml") formattedResults = json.dumps(resultsData, indent=2) - print(f"Results:\n{formattedResults}") + print(f"Results:\n{formattedResults if formattedResults else 'ALL PASS'}") print(f"Dumping results to {out}\n") output_file.write( formattedResults if formattedResults else "ALL PASS") -- cgit v1.2.3