[Analyzer] [Tests] Dump the output of scan-build to stdout on failure.
authorGeorge Karpenkov <ekarpenkov@apple.com>
Fri, 27 Oct 2017 22:39:54 +0000 (22:39 +0000)
committerGeorge Karpenkov <ekarpenkov@apple.com>
Fri, 27 Oct 2017 22:39:54 +0000 (22:39 +0000)
Eliminates extra lookup step during debugging.

llvm-svn: 316806

clang/utils/analyzer/SATestBuild.py

index 6f4ef28..ed700c0 100755 (executable)
@@ -272,10 +272,11 @@ def runScanBuild(Dir, SBOutputDir, PBuildLogFile):
                        stderr=PBuildLogFile,
                        stdout=PBuildLogFile,
                        shell=True)
-    except:
-        print "Error: scan-build failed. See ", PBuildLogFile.name,\
-              " for details."
-        raise
+    except CalledProcessError:
+        print "Error: scan-build failed. Its output was: "
+        PBuildLogFile.seek(0)
+        shutil.copyfileobj(PBuildLogFile, sys.stdout)
+        sys.exit(1)
 
 
 def runAnalyzePreprocessed(Dir, SBOutputDir, Mode):
@@ -373,7 +374,7 @@ def buildProject(Dir, SBOutputDir, ProjectBuildMode, IsReferenceBuild):
     os.makedirs(os.path.join(SBOutputDir, LogFolderName))
 
     # Build and analyze the project.
-    with open(BuildLogPath, "wb+") as PBuildLogFile:
+    with open(BuildLogPath, "r+b") as PBuildLogFile:
         if (ProjectBuildMode == 1):
             downloadAndPatch(Dir, PBuildLogFile)
             runCleanupScript(Dir, PBuildLogFile)