From 3de410848c245d0b66697062234f2d6980583092 Mon Sep 17 00:00:00 2001 From: Serge Guelton Date: Mon, 3 Dec 2018 12:11:21 +0000 Subject: [PATCH] Portable Python script across Python version Python2 supports the two following equivalent construct raise ExceptionType, exception_value and raise ExceptionType(exception_value) Only the later is supported by Python3. Differential Revision: https://reviews.llvm.org/D55195 llvm-svn: 348126 --- clang/tools/scan-view/share/ScanView.py | 18 +++++++++--------- clang/utils/ABITest/ABITestGen.py | 8 ++++---- clang/utils/ABITest/Enumeration.py | 14 +++++++------- clang/utils/ABITest/TypeGen.py | 4 ++-- clang/utils/analyzer/SATestBuild.py | 2 +- clang/utils/token-delta.py | 2 +- 6 files changed, 24 insertions(+), 24 deletions(-) diff --git a/clang/tools/scan-view/share/ScanView.py b/clang/tools/scan-view/share/ScanView.py index 7dc0351..90ec17f 100644 --- a/clang/tools/scan-view/share/ScanView.py +++ b/clang/tools/scan-view/share/ScanView.py @@ -102,9 +102,9 @@ class ReporterThread(threading.Thread): time.sleep(3) if self.server.options.debug: print >>sys.stderr, "%s: SERVER: submission complete."%(sys.argv[0],) - except Reporter.ReportFailure,e: + except Reporter.ReportFailure as e: self.status = e.value - except Exception,e: + except Exception as e: s = StringIO.StringIO() import traceback print >>s,'Unhandled Exception
'
@@ -163,7 +163,7 @@ class ScanViewServer(BaseHTTPServer.HTTPServer):
                 print >>sys.stderr, "%s: SERVER: waiting..." % (sys.argv[0],)
             try:
                 self.handle_request()
-            except OSError,e:
+            except OSError as e:
                 print 'OSError',e.errno
 
     def finish_request(self, request, client_address):
@@ -207,13 +207,13 @@ class ScanViewRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
     def do_HEAD(self):
         try:
             SimpleHTTPServer.SimpleHTTPRequestHandler.do_HEAD(self)
-        except Exception,e:
+        except Exception as e:
             self.handle_exception(e)
             
     def do_GET(self):
         try:
             SimpleHTTPServer.SimpleHTTPRequestHandler.do_GET(self)
-        except Exception,e:
+        except Exception as e:
             self.handle_exception(e)
             
     def do_POST(self):
@@ -230,7 +230,7 @@ class ScanViewRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
             if f:
                 self.copyfile(f, self.wfile)
                 f.close()
-        except Exception,e:
+        except Exception as e:
             self.handle_exception(e)            
 
     def log_message(self, format, *args):
@@ -428,7 +428,7 @@ Submit
             data = self.load_crashes()
             # Don't allow empty reports.
             if not data:
-                raise ValueError, 'No crashes detected!'
+                raise ValueError('No crashes detected!')
             c = Context()
             c.title = 'clang static analyzer failures'
 
@@ -472,7 +472,7 @@ STDERR Summary
             # Check that this is a valid report.            
             path = posixpath.join(self.server.root, 'report-%s.html' % report)
             if not posixpath.exists(path):
-                raise ValueError, 'Invalid report ID'
+                raise ValueError('Invalid report ID')
             keys = self.load_report(report)
             c = Context()
             c.title = keys.get('DESC','clang error (unrecognized')
@@ -501,7 +501,7 @@ Line: %s
         # report is None is used for crashes
         try:
             c = self.get_report_context(report)
-        except ValueError, e:
+        except ValueError as e:
             return self.send_error(400, e.message)
 
         title = c.title
diff --git a/clang/utils/ABITest/ABITestGen.py b/clang/utils/ABITest/ABITestGen.py
index 27cc5ec..d45ac77d 100755
--- a/clang/utils/ABITest/ABITestGen.py
+++ b/clang/utils/ABITest/ABITestGen.py
@@ -250,7 +250,7 @@ class TypePrinter:
                     elements[i] = v
                     yield '{ %s }'%(', '.join(elements))
         else:
-            raise NotImplementedError,'Cannot make tests values of type: "%s"'%(t,)
+            raise NotImplementedError('Cannot make tests values of type: "%s"'%(t,))
 
     def printSizeOfType(self, prefix, name, t, output=None, indent=2):
         print >>output, '%*sprintf("%s: sizeof(%s) = %%ld\\n", (long)sizeof(%s));'%(indent, '', prefix, name, name) 
@@ -310,7 +310,7 @@ class TypePrinter:
                 else:
                     self.printValueOfType(prefix, '%s[%d]'%(name,i), t.elementType, output=output,indent=indent)                    
         else:
-            raise NotImplementedError,'Cannot print value of type: "%s"'%(t,)
+            raise NotImplementedError('Cannot print value of type: "%s"'%(t,))
 
     def checkTypeValues(self, nameLHS, nameRHS, t, output=None, indent=2):
         prefix = 'foo'
@@ -343,7 +343,7 @@ class TypePrinter:
                     self.checkTypeValues('%s[%d]'%(nameLHS,i), '%s[%d]'%(nameRHS,i), 
                                          t.elementType, output=output,indent=indent)                    
         else:
-            raise NotImplementedError,'Cannot print value of type: "%s"'%(t,)
+            raise NotImplementedError('Cannot print value of type: "%s"'%(t,))
 
 import sys
 
@@ -642,7 +642,7 @@ def main():
     def write(N):
         try:
             FT = ftg.get(N)
-        except RuntimeError,e:
+        except RuntimeError as e:
             if e.args[0]=='maximum recursion depth exceeded':
                 print >>sys.stderr,'WARNING: Skipped %d, recursion limit exceeded (bad arguments?)'%(N,)
                 return
diff --git a/clang/utils/ABITest/Enumeration.py b/clang/utils/ABITest/Enumeration.py
index 47e4702..eb53e17 100644
--- a/clang/utils/ABITest/Enumeration.py
+++ b/clang/utils/ABITest/Enumeration.py
@@ -17,7 +17,7 @@ class Aleph0(int):
         return 1
 
     def __sub__(self, b):
-        raise ValueError,"Cannot subtract aleph0"
+        raise ValueError("Cannot subtract aleph0")
     __rsub__ = __sub__
 
     def __add__(self, b): 
@@ -86,9 +86,9 @@ def getNthPairBounded(N,W=aleph0,H=aleph0,useDivmod=False):
     Return the N-th pair such that 0 <= x < W and 0 <= y < H."""
 
     if W <= 0 or H <= 0:
-        raise ValueError,"Invalid bounds"
+        raise ValueError("Invalid bounds")
     elif N >= W*H:
-        raise ValueError,"Invalid input (out of bounds)"
+        raise ValueError("Invalid input (out of bounds)")
 
     # Simple case...
     if W is aleph0 and H is aleph0:
@@ -170,7 +170,7 @@ def getNthTuple(N, maxSize=aleph0, maxElement=aleph0, useDivmod=False, useLeftTo
     N -= 1
     if maxElement is not aleph0:
         if maxSize is aleph0:
-            raise NotImplementedError,'Max element size without max size unhandled'
+            raise NotImplementedError('Max element size without max size unhandled')
         bounds = [maxElement**i for i in range(1, maxSize+1)]
         S,M = getNthPairVariableBounds(N, bounds)
     else:
@@ -193,9 +193,9 @@ def getNthPairVariableBounds(N, bounds):
     bounds[x]."""
 
     if not bounds:
-        raise ValueError,"Invalid bounds"
+        raise ValueError("Invalid bounds")
     if not (0 <= N < sum(bounds)):
-        raise ValueError,"Invalid input (out of bounds)"
+        raise ValueError("Invalid input (out of bounds)")
 
     level = 0
     active = range(len(bounds))
@@ -216,7 +216,7 @@ def getNthPairVariableBounds(N, bounds):
             N -= levelSize
             prevLevel = level
     else:
-        raise RuntimError,"Unexpected loop completion"
+        raise RuntimError("Unexpected loop completion")
 
 def getNthPairVariableBoundsChecked(N, bounds, GNVP=getNthPairVariableBounds):
     x,y = GNVP(N,bounds)
diff --git a/clang/utils/ABITest/TypeGen.py b/clang/utils/ABITest/TypeGen.py
index 1e4471c..7bbf0d8 100644
--- a/clang/utils/ABITest/TypeGen.py
+++ b/clang/utils/ABITest/TypeGen.py
@@ -435,7 +435,7 @@ class AnyTypeGenerator(TypeGenerator):
             if (self._cardinality is aleph0) or prev==self._cardinality:
                 break
         else:
-            raise RuntimeError,"Infinite loop in setting cardinality"
+            raise RuntimeError("Infinite loop in setting cardinality")
 
     def generateType(self, N):
         index,M = getNthPairVariableBounds(N, self.bounds)
@@ -466,7 +466,7 @@ def test():
         if i == atg.cardinality:
             try:
                 atg.get(i)
-                raise RuntimeError,"Cardinality was wrong"
+                raise RuntimeError("Cardinality was wrong")
             except AssertionError:
                 break
         print '%4d: %s'%(i, atg.get(i))
diff --git a/clang/utils/analyzer/SATestBuild.py b/clang/utils/analyzer/SATestBuild.py
index fbf3882..95dd69d 100755
--- a/clang/utils/analyzer/SATestBuild.py
+++ b/clang/utils/analyzer/SATestBuild.py
@@ -382,7 +382,7 @@ def runAnalyzePreprocessed(Args, Dir, SBOutputDir, Mode):
             check_call(Command, cwd=Dir, stderr=LogFile,
                        stdout=LogFile,
                        shell=True)
-        except CalledProcessError, e:
+        except CalledProcessError as e:
             Local.stderr.write("Error: Analyzes of %s failed. "
                                "See %s for details."
                                "Error code %d.\n" % (
diff --git a/clang/utils/token-delta.py b/clang/utils/token-delta.py
index 327fa92..f912547 100755
--- a/clang/utils/token-delta.py
+++ b/clang/utils/token-delta.py
@@ -37,7 +37,7 @@ class DeltaAlgorithm(object):
         # O(N^2) case unless user requests it.
         if not force:
             if not self.getTestResult(changes):
-                raise ValueError,'Initial test passed to delta fails.'
+                raise ValueError('Initial test passed to delta fails.')
 
         # Check empty set first to quickly find poor test functions.
         if self.getTestResult(set()):
-- 
2.7.4