add python 3 support to tests

This commit is contained in:
Thomas Amland 2016-01-19 14:31:01 +01:00
parent 13206d6f53
commit d404af0d98
8 changed files with 18 additions and 14 deletions

View File

@ -47,8 +47,8 @@ environ = os.environ.copy()
def AssertEq(expected, actual): def AssertEq(expected, actual):
if expected != actual: if expected != actual:
print 'Expected: %s' % (expected,) print('Expected: %s' % (expected,))
print ' Actual: %s' % (actual,) print(' Actual: %s' % (actual,))
raise AssertionError raise AssertionError

View File

@ -44,7 +44,10 @@ __author__ = 'wan@google.com (Zhanyong Wan)'
import os import os
import re import re
import sets try:
from sets import Set as set # For Python 2.3 compatibility
except ImportError:
pass
import sys import sys
import gtest_test_utils import gtest_test_utils
@ -58,7 +61,7 @@ import gtest_test_utils
# exception is thrown if the input is anything other than 'True' nor 'False'. # exception is thrown if the input is anything other than 'True' nor 'False'.
os.environ['EMPTY_VAR'] = '' os.environ['EMPTY_VAR'] = ''
child = gtest_test_utils.Subprocess( child = gtest_test_utils.Subprocess(
[sys.executable, '-c', 'import os; print \'EMPTY_VAR\' in os.environ']) [sys.executable, '-c', 'import os; print(\'EMPTY_VAR\' in os.environ)'])
CAN_PASS_EMPTY_ENV = eval(child.output) CAN_PASS_EMPTY_ENV = eval(child.output)
@ -71,7 +74,7 @@ CAN_PASS_EMPTY_ENV = eval(child.output)
os.environ['UNSET_VAR'] = 'X' os.environ['UNSET_VAR'] = 'X'
del os.environ['UNSET_VAR'] del os.environ['UNSET_VAR']
child = gtest_test_utils.Subprocess( child = gtest_test_utils.Subprocess(
[sys.executable, '-c', 'import os; print \'UNSET_VAR\' not in os.environ']) [sys.executable, '-c', 'import os; print(\'UNSET_VAR\' not in os.environ)'])
CAN_UNSET_ENV = eval(child.output) CAN_UNSET_ENV = eval(child.output)
@ -243,14 +246,14 @@ class GTestFilterUnitTest(gtest_test_utils.TestCase):
for slice_var in list_of_sets: for slice_var in list_of_sets:
full_partition.extend(slice_var) full_partition.extend(slice_var)
self.assertEqual(len(set_var), len(full_partition)) self.assertEqual(len(set_var), len(full_partition))
self.assertEqual(sets.Set(set_var), sets.Set(full_partition)) self.assertEqual(set(set_var), set(full_partition))
def AdjustForParameterizedTests(self, tests_to_run): def AdjustForParameterizedTests(self, tests_to_run):
"""Adjust tests_to_run in case value parameterized tests are disabled.""" """Adjust tests_to_run in case value parameterized tests are disabled."""
global param_tests_present global param_tests_present
if not param_tests_present: if not param_tests_present:
return list(sets.Set(tests_to_run) - sets.Set(PARAM_TESTS)) return list(set(tests_to_run) - set(PARAM_TESTS))
else: else:
return tests_to_run return tests_to_run

View File

@ -279,7 +279,7 @@ class GTestOutputTest(gtest_test_utils.TestCase):
def testOutput(self): def testOutput(self):
output = GetOutputOfAllCommands() output = GetOutputOfAllCommands()
golden_file = open(GOLDEN_PATH, 'rb') golden_file = open(GOLDEN_PATH, 'r')
# A mis-configured source control system can cause \r appear in EOL # A mis-configured source control system can cause \r appear in EOL
# sequences when we read the golden file irrespective of an operating # sequences when we read the golden file irrespective of an operating
# system used. Therefore, we need to strip those \r's from newlines # system used. Therefore, we need to strip those \r's from newlines

View File

@ -178,7 +178,7 @@ def GetTestExecutablePath(executable_name, build_dir=None):
'Unable to find the test binary "%s". Please make sure to provide\n' 'Unable to find the test binary "%s". Please make sure to provide\n'
'a path to the binary via the --build_dir flag or the BUILD_DIR\n' 'a path to the binary via the --build_dir flag or the BUILD_DIR\n'
'environment variable.' % path) 'environment variable.' % path)
print >> sys.stderr, message sys.stdout.write(message)
sys.exit(1) sys.exit(1)
return path return path

View File

@ -70,7 +70,7 @@ def SetEnvVar(env_var, value):
def Run(command): def Run(command):
"""Runs a command; returns True/False if its exit code is/isn't 0.""" """Runs a command; returns True/False if its exit code is/isn't 0."""
print 'Running "%s". . .' % ' '.join(command) print('Running "%s". . .' % ' '.join(command))
p = gtest_test_utils.Subprocess(command) p = gtest_test_utils.Subprocess(command)
return p.exited and p.exit_code == 0 return p.exited and p.exit_code == 0

View File

@ -46,8 +46,8 @@ def Assert(condition):
def AssertEq(expected, actual): def AssertEq(expected, actual):
if expected != actual: if expected != actual:
print 'Expected: %s' % (expected,) print('Expected: %s' % (expected,))
print ' Actual: %s' % (actual,) print(' Actual: %s' % (actual,))
raise AssertionError raise AssertionError

View File

@ -209,7 +209,8 @@ class GTestXMLOutputUnitTest(gtest_xml_test_utils.GTestXMLTestCase):
'gtest_no_test_unittest') 'gtest_no_test_unittest')
try: try:
os.remove(output_file) os.remove(output_file)
except OSError, e: except OSError:
e = sys.exc_info()[1]
if e.errno != errno.ENOENT: if e.errno != errno.ENOENT:
raise raise

View File

@ -101,7 +101,7 @@ class GTestXMLTestCase(gtest_test_utils.TestCase):
self.assertEquals( self.assertEquals(
len(expected_children), len(actual_children), len(expected_children), len(actual_children),
'number of child elements differ in element ' + actual_node.tagName) 'number of child elements differ in element ' + actual_node.tagName)
for child_id, child in expected_children.iteritems(): for child_id, child in expected_children.items():
self.assert_(child_id in actual_children, self.assert_(child_id in actual_children,
'<%s> is not in <%s> (in element %s)' % '<%s> is not in <%s> (in element %s)' %
(child_id, actual_children, actual_node.tagName)) (child_id, actual_children, actual_node.tagName))