[analyzer] SATestBuild.py: Treat '#' as comment in projectMap.csv
authorDevin Coughlin <dcoughlin@apple.com>
Mon, 19 Sep 2016 01:36:40 +0000 (01:36 +0000)
committerDevin Coughlin <dcoughlin@apple.com>
Mon, 19 Sep 2016 01:36:40 +0000 (01:36 +0000)
Treat lines in projectMap.csv that start with '#' as comments. This enables a
workflow where projects can be temporarily disabled with a comment describing
when they should be turned back on.

Differential Revision: https://reviews.llvm.org/D24709

llvm-svn: 281880

clang/utils/analyzer/SATestBuild.py

index ab68518..18c5393 100755 (executable)
@@ -660,11 +660,17 @@ def testProject(ID, ProjectBuildMode, IsReferenceBuild=False, Dir=None, Strictne
     print "Completed tests for project %s (time: %.2f)." % \
           (ID, (time.time()-TBegin))
 
+def isCommentCSVLine(Entries):
+  # Treat CSV lines starting with a '#' as a comment.
+  return len(Entries) > 0 and Entries[0].startswith("#")
+
 def testAll(IsReferenceBuild = False, UpdateSVN = False, Strictness = 0):
     PMapFile = open(getProjectMapPath(), "rb")
     try:
         # Validate the input.
         for I in csv.reader(PMapFile):
+            if (isCommentCSVLine(I)):
+                continue
             if (len(I) != 2) :
                 print "Error: Rows in the ProjectMapFile should have 3 entries."
                 raise Exception()
@@ -682,6 +688,8 @@ def testAll(IsReferenceBuild = False, UpdateSVN = False, Strictness = 0):
         # Test the projects.
         PMapFile.seek(0)
         for I in csv.reader(PMapFile):
+            if isCommentCSVLine(I):
+              continue;
             testProject(I[0], int(I[1]), IsReferenceBuild, None, Strictness)
 
         # Add reference results to SVN.