[Lldb-commits] [lldb] r251978 - Python 3 - Fix some issues in unittest2.

Zachary Turner via lldb-commits lldb-commits at lists.llvm.org
Tue Nov 3 13:02:00 PST 2015


Author: zturner
Date: Tue Nov  3 15:02:00 2015
New Revision: 251978

URL: http://llvm.org/viewvc/llvm-project?rev=251978&view=rev
Log:
Python 3 - Fix some issues in unittest2.

unittest2 was using print statements in a few places, and also
using the `cmp` function (which is removed in Python 3).  Again,
we need to stop using unittest2 and using unittest instead, but
this seems like an easier route for now.

Modified:
    lldb/trunk/third_party/Python/module/unittest2/unittest2/__init__.py
    lldb/trunk/third_party/Python/module/unittest2/unittest2/loader.py
    lldb/trunk/third_party/Python/module/unittest2/unittest2/main.py
    lldb/trunk/third_party/Python/module/unittest2/unittest2/test/test_result.py

Modified: lldb/trunk/third_party/Python/module/unittest2/unittest2/__init__.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/third_party/Python/module/unittest2/unittest2/__init__.py?rev=251978&r1=251977&r2=251978&view=diff
==============================================================================
--- lldb/trunk/third_party/Python/module/unittest2/unittest2/__init__.py (original)
+++ lldb/trunk/third_party/Python/module/unittest2/unittest2/__init__.py Tue Nov  3 15:02:00 2015
@@ -26,6 +26,14 @@ AND THERE IS NO OBLIGATION WHATSOEVER TO
 SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
 """
 
+import sys
+
+if sys.version_info[0] >= 3:
+    # Python 3 doesn't have the builtin `cmp` function anymore
+    cmp_ = lambda x, y: (x > y) - (x < y)
+else:
+    cmp_ = cmp
+
 __all__ = ['TestResult', 'TestCase', 'TestSuite',
            'TextTestRunner', 'TestLoader', 'FunctionTestCase', 'main',
            'defaultTestLoader', 'SkipTest', 'skip', 'skipIf', 'skipUnless',
@@ -65,4 +73,4 @@ else:
 # deprecated
 _TextTestResult = TextTestResult
 
-__unittest = True
\ No newline at end of file
+__unittest = True

Modified: lldb/trunk/third_party/Python/module/unittest2/unittest2/loader.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/third_party/Python/module/unittest2/unittest2/loader.py?rev=251978&r1=251977&r2=251978&view=diff
==============================================================================
--- lldb/trunk/third_party/Python/module/unittest2/unittest2/loader.py (original)
+++ lldb/trunk/third_party/Python/module/unittest2/unittest2/loader.py Tue Nov  3 15:02:00 2015
@@ -9,7 +9,7 @@ import unittest
 
 from fnmatch import fnmatch
 
-from unittest2 import case, suite
+from unittest2 import case, suite, cmp_
 
 try:
     from os.path import relpath
@@ -61,7 +61,7 @@ class TestLoader(unittest.TestLoader):
     and returning them wrapped in a TestSuite
     """
     testMethodPrefix = 'test'
-    sortTestMethodsUsing = cmp
+    sortTestMethodsUsing = cmp_
     suiteClass = suite.TestSuite
     _top_level_dir = None
 
@@ -310,13 +310,13 @@ def _makeLoader(prefix, sortUsing, suite
         loader.suiteClass = suiteClass
     return loader
 
-def getTestCaseNames(testCaseClass, prefix, sortUsing=cmp):
+def getTestCaseNames(testCaseClass, prefix, sortUsing=cmp_):
     return _makeLoader(prefix, sortUsing).getTestCaseNames(testCaseClass)
 
-def makeSuite(testCaseClass, prefix='test', sortUsing=cmp,
+def makeSuite(testCaseClass, prefix='test', sortUsing=cmp_,
               suiteClass=suite.TestSuite):
     return _makeLoader(prefix, sortUsing, suiteClass).loadTestsFromTestCase(testCaseClass)
 
-def findTestCases(module, prefix='test', sortUsing=cmp,
+def findTestCases(module, prefix='test', sortUsing=cmp_,
                   suiteClass=suite.TestSuite):
     return _makeLoader(prefix, sortUsing, suiteClass).loadTestsFromModule(module)

Modified: lldb/trunk/third_party/Python/module/unittest2/unittest2/main.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/third_party/Python/module/unittest2/unittest2/main.py?rev=251978&r1=251977&r2=251978&view=diff
==============================================================================
--- lldb/trunk/third_party/Python/module/unittest2/unittest2/main.py (original)
+++ lldb/trunk/third_party/Python/module/unittest2/unittest2/main.py Tue Nov  3 15:02:00 2015
@@ -99,7 +99,7 @@ class TestProgram(object):
 
     def usageExit(self, msg=None):
         if msg:
-            print msg
+            print(msg)
         usage = {'progName': self.progName, 'catchbreak': '', 'failfast': '',
                  'buffer': ''}
         if self.failfast != False:
@@ -108,7 +108,7 @@ class TestProgram(object):
             usage['catchbreak'] = CATCHBREAK
         if self.buffer != False:
             usage['buffer'] = BUFFEROUTPUT
-        print self.USAGE % usage
+        print(self.USAGE % usage)
         sys.exit(2)
 
     def parseArgs(self, argv):

Modified: lldb/trunk/third_party/Python/module/unittest2/unittest2/test/test_result.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/third_party/Python/module/unittest2/unittest2/test/test_result.py?rev=251978&r1=251977&r2=251978&view=diff
==============================================================================
--- lldb/trunk/third_party/Python/module/unittest2/unittest2/test/test_result.py (original)
+++ lldb/trunk/third_party/Python/module/unittest2/unittest2/test/test_result.py Tue Nov  3 15:02:00 2015
@@ -1,3 +1,5 @@
+from __future__ import print_function
+
 import sys
 import textwrap
 from StringIO import StringIO
@@ -342,8 +344,8 @@ class TestOutputBuffering(unittest2.Test
         result._original_stdout = StringIO()
         result._original_stderr = StringIO()
         
-        print 'foo'
-        print >> sys.stderr, 'bar'
+        print('foo')
+        print('bar', file=sys.stderr)
         
         self.assertEqual(out_stream.getvalue(), 'foo\n')
         self.assertEqual(err_stream.getvalue(), 'bar\n')
@@ -381,9 +383,9 @@ class TestOutputBuffering(unittest2.Test
             result._original_stderr = StringIO()
             result._original_stdout = StringIO()
             
-            print >> sys.stdout, 'foo'
+            print('foo')
             if include_error:
-                print >> sys.stderr, 'bar'
+                print('bar', file=sys.stderr)
             
             addFunction = getattr(result, add_attr)
             addFunction(self, (None, None, None))




More information about the lldb-commits mailing list