Issue #19572: More silently skipped tests explicitly skipped.
diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py
index b6de524..15581d9 100644
--- a/Lib/test/test_builtin.py
+++ b/Lib/test/test_builtin.py
@@ -447,59 +447,6 @@
return 'a'
self.assertRaises(TypeError, eval, 'dir()', globals(), C())
- # Done outside of the method test_z to get the correct scope
- z = 0
- f = open(TESTFN, 'w')
- f.write('z = z+1\n')
- f.write('z = z*2\n')
- f.close()
- with check_py3k_warnings(("execfile.. not supported in 3.x",
- DeprecationWarning)):
- execfile(TESTFN)
-
- def test_execfile(self):
- global numruns
- if numruns:
- return
- numruns += 1
-
- globals = {'a': 1, 'b': 2}
- locals = {'b': 200, 'c': 300}
-
- self.assertEqual(self.__class__.z, 2)
- globals['z'] = 0
- execfile(TESTFN, globals)
- self.assertEqual(globals['z'], 2)
- locals['z'] = 0
- execfile(TESTFN, globals, locals)
- self.assertEqual(locals['z'], 2)
-
- class M:
- "Test mapping interface versus possible calls from execfile()."
- def __init__(self):
- self.z = 10
- def __getitem__(self, key):
- if key == 'z':
- return self.z
- raise KeyError
- def __setitem__(self, key, value):
- if key == 'z':
- self.z = value
- return
- raise KeyError
-
- locals = M()
- locals['z'] = 0
- execfile(TESTFN, globals, locals)
- self.assertEqual(locals['z'], 2)
-
- unlink(TESTFN)
- self.assertRaises(TypeError, execfile)
- self.assertRaises(TypeError, execfile, TESTFN, {}, ())
- import os
- self.assertRaises(IOError, execfile, os.curdir)
- self.assertRaises(IOError, execfile, "I_dont_exist")
-
def test_filter(self):
self.assertEqual(filter(lambda c: 'a' <= c <= 'z', 'Hello World'), 'elloorld')
self.assertEqual(filter(None, [1, 'hello', [], [3], '', None, 9, 0]), [1, 'hello', [3], 9])
@@ -1646,6 +1593,56 @@
self.assertRaises(ValueError, x.translate, "1", 1)
self.assertRaises(TypeError, x.translate, "1"*256, 1)
+class TestExecFile(unittest.TestCase):
+ # Done outside of the method test_z to get the correct scope
+ z = 0
+ f = open(TESTFN, 'w')
+ f.write('z = z+1\n')
+ f.write('z = z*2\n')
+ f.close()
+ with check_py3k_warnings(("execfile.. not supported in 3.x",
+ DeprecationWarning)):
+ execfile(TESTFN)
+
+ def test_execfile(self):
+ globals = {'a': 1, 'b': 2}
+ locals = {'b': 200, 'c': 300}
+
+ self.assertEqual(self.__class__.z, 2)
+ globals['z'] = 0
+ execfile(TESTFN, globals)
+ self.assertEqual(globals['z'], 2)
+ locals['z'] = 0
+ execfile(TESTFN, globals, locals)
+ self.assertEqual(locals['z'], 2)
+
+ class M:
+ "Test mapping interface versus possible calls from execfile()."
+ def __init__(self):
+ self.z = 10
+ def __getitem__(self, key):
+ if key == 'z':
+ return self.z
+ raise KeyError
+ def __setitem__(self, key, value):
+ if key == 'z':
+ self.z = value
+ return
+ raise KeyError
+
+ locals = M()
+ locals['z'] = 0
+ execfile(TESTFN, globals, locals)
+ self.assertEqual(locals['z'], 2)
+
+ unlink(TESTFN)
+ self.assertRaises(TypeError, execfile)
+ self.assertRaises(TypeError, execfile, TESTFN, {}, ())
+ import os
+ self.assertRaises(IOError, execfile, os.curdir)
+ self.assertRaises(IOError, execfile, "I_dont_exist")
+
+
class TestSorted(unittest.TestCase):
def test_basic(self):
@@ -1693,6 +1690,12 @@
run_unittest(*args)
def test_main(verbose=None):
+ global numruns
+ if not numruns:
+ with check_py3k_warnings(
+ (".+ not supported in 3.x", DeprecationWarning)):
+ run_unittest(TestExecFile)
+ numruns += 1
test_classes = (BuiltinTest, TestSorted)
_run_unittest(*test_classes)