]> granicus.if.org Git - clang/commitdiff
[analyzer] Fix SATestAdd to work with SATestBuild.
authorJordan Rose <jordan_rose@apple.com>
Fri, 1 Jun 2012 16:24:38 +0000 (16:24 +0000)
committerJordan Rose <jordan_rose@apple.com>
Fri, 1 Jun 2012 16:24:38 +0000 (16:24 +0000)
Also, eliminate global 'IsReferenceBuild' in SATestBuild. It doesn't get
passed around that much.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157816 91177308-0d34-0410-b5e6-96231b3b80d8

utils/analyzer/SATestAdd.py
utils/analyzer/SATestBuild.py

index ce64bc82f756fdd4bbd5e8b6904dfaacc8fc18a6..2d32533f6bb06f4993e92c890648c2db75911231 100755 (executable)
@@ -41,7 +41,7 @@ def addNewProject(ID, IsScanBuild) :
         sys.exit(-1)
         
     # Build the project.
-    SATestBuild.testProject(ID, True, IsScanBuild, Dir)
+    SATestBuild.testProject(ID, IsScanBuild, IsReferenceBuild=True, Dir=Dir)
 
     # Add the project ID to the project map.
     ProjectMapPath = os.path.join(CurDir, SATestBuild.ProjectMapFile)
index 3fccb9ac1ef14cb2112c39363247f06297c43c46..35c0b7477818c48557cd39644c6325fa8ab73a2e 100755 (executable)
@@ -76,8 +76,6 @@ Checkers="experimental.security.taint,core,deadcode,cplusplus,security,unix,osx,
 
 Verbose = 1
 
-IsReferenceBuild = False
-
 # Make sure we flush the output after every print statement.
 class flushfile(object):
     def __init__(self, f):
@@ -100,7 +98,7 @@ def getProjectMapPath():
 def getProjectDir(ID):
     return os.path.join(os.path.abspath(os.curdir), ID)        
 
-def getSBOutputDirName() :
+def getSBOutputDirName(IsReferenceBuild) :
     if IsReferenceBuild == True :
         return SBOutputDirReferencePrefix + SBOutputDirName
     else :
@@ -210,7 +208,7 @@ def runAnalyzePreprocessed(Dir, SBOutputDir):
         if Failed == False:
             os.remove(LogFile.name);
 
-def buildProject(Dir, SBOutputDir, IsScanBuild):
+def buildProject(Dir, SBOutputDir, IsScanBuild, IsReferenceBuild):
     TBegin = time.time() 
 
     BuildLogPath = os.path.join(SBOutputDir, LogFolderName, BuildLogName)
@@ -373,7 +371,7 @@ def updateSVN(Mode, ProjectsMap):
         ProjectsMap.seek(0)    
         for I in csv.reader(ProjectsMap):
             ProjName = I[0] 
-            Path = os.path.join(ProjName, getSBOutputDirName())
+            Path = os.path.join(ProjName, getSBOutputDirName(True))
     
             if Mode == "delete":
                 Command = "svn delete %s" % (Path,)
@@ -397,7 +395,7 @@ def updateSVN(Mode, ProjectsMap):
         print "Error: SVN update failed."
         sys.exit(-1)
         
-def testProject(ID, IsScanBuild, Dir=None):
+def testProject(ID, IsScanBuild, IsReferenceBuild=False, Dir=None):
     print " \n\n--- Building project %s" % (ID,)
 
     TBegin = time.time() 
@@ -408,10 +406,10 @@ def testProject(ID, IsScanBuild, Dir=None):
         print "  Build directory: %s." % (Dir,)
     
     # Set the build results directory.
-    RelOutputDir = getSBOutputDirName()
+    RelOutputDir = getSBOutputDirName(IsReferenceBuild)
     SBOutputDir = os.path.join(Dir, RelOutputDir)
                 
-    buildProject(Dir, SBOutputDir, IsScanBuild)    
+    buildProject(Dir, SBOutputDir, IsScanBuild, IsReferenceBuild)
 
     checkBuild(SBOutputDir)
     
@@ -421,10 +419,7 @@ def testProject(ID, IsScanBuild, Dir=None):
     print "Completed tests for project %s (time: %.2f)." % \
           (ID, (time.time()-TBegin))
     
-def testAll(InIsReferenceBuild = False, UpdateSVN = False):
-    global IsReferenceBuild
-    IsReferenceBuild = InIsReferenceBuild
-
+def testAll(IsReferenceBuild = False, UpdateSVN = False):
     PMapFile = open(getProjectMapPath(), "rb")
     try:        
         # Validate the input.
@@ -439,13 +434,13 @@ def testAll(InIsReferenceBuild = False, UpdateSVN = False):
         # When we are regenerating the reference results, we might need to 
         # update svn. Remove reference results from SVN.
         if UpdateSVN == True:
-            assert(InIsReferenceBuild == True);
+            assert(IsReferenceBuild == True);
             updateSVN("delete",  PMapFile);
             
         # Test the projects.
         PMapFile.seek(0)    
         for I in csv.reader(PMapFile):
-            testProject(I[0], int(I[1]))
+            testProject(I[0], int(I[1]), IsReferenceBuild)
 
         # Add reference results to SVN.
         if UpdateSVN == True: