mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
#11420: make test suite pass with -B/DONTWRITEBYTECODE set. Initial patch by Thomas Wouters.
This commit is contained in:
parent
b1ed05c7a5
commit
e015b6b1fc
4 changed files with 36 additions and 22 deletions
|
@ -87,8 +87,9 @@ class BuildDumbTestCase(support.TempdirManager,
|
||||||
fp.close()
|
fp.close()
|
||||||
|
|
||||||
contents = sorted(os.path.basename(fn) for fn in contents)
|
contents = sorted(os.path.basename(fn) for fn in contents)
|
||||||
wanted = ['foo-0.1-py%s.%s.egg-info' % sys.version_info[:2],
|
wanted = ['foo-0.1-py%s.%s.egg-info' % sys.version_info[:2], 'foo.py']
|
||||||
'foo.py', 'foo.pyc']
|
if not sys.dont_write_bytecode:
|
||||||
|
wanted.append('foo.pyc')
|
||||||
self.assertEqual(contents, sorted(wanted))
|
self.assertEqual(contents, sorted(wanted))
|
||||||
|
|
||||||
def test_finalize_options(self):
|
def test_finalize_options(self):
|
||||||
|
|
|
@ -88,6 +88,7 @@ class ImportTests(unittest.TestCase):
|
||||||
unlink(source)
|
unlink(source)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
if not sys.dont_write_bytecode:
|
||||||
imp.reload(mod)
|
imp.reload(mod)
|
||||||
except ImportError, err:
|
except ImportError, err:
|
||||||
self.fail("import from .pyc/.pyo failed: %s" % err)
|
self.fail("import from .pyc/.pyo failed: %s" % err)
|
||||||
|
@ -105,7 +106,10 @@ class ImportTests(unittest.TestCase):
|
||||||
finally:
|
finally:
|
||||||
del sys.path[0]
|
del sys.path[0]
|
||||||
|
|
||||||
@unittest.skipUnless(os.name == 'posix', "test meaningful only on posix systems")
|
@unittest.skipUnless(os.name == 'posix',
|
||||||
|
"test meaningful only on posix systems")
|
||||||
|
@unittest.skipIf(sys.dont_write_bytecode,
|
||||||
|
"test meaningful only when writing bytecode")
|
||||||
def test_execute_bit_not_copied(self):
|
def test_execute_bit_not_copied(self):
|
||||||
# Issue 6070: under posix .pyc files got their execute bit set if
|
# Issue 6070: under posix .pyc files got their execute bit set if
|
||||||
# the .py file had the execute bit set, but they aren't executable.
|
# the .py file had the execute bit set, but they aren't executable.
|
||||||
|
@ -132,6 +136,8 @@ class ImportTests(unittest.TestCase):
|
||||||
unload(TESTFN)
|
unload(TESTFN)
|
||||||
del sys.path[0]
|
del sys.path[0]
|
||||||
|
|
||||||
|
@unittest.skipIf(sys.dont_write_bytecode,
|
||||||
|
"test meaningful only when writing bytecode")
|
||||||
def test_rewrite_pyc_with_read_only_source(self):
|
def test_rewrite_pyc_with_read_only_source(self):
|
||||||
# Issue 6074: a long time ago on posix, and more recently on Windows,
|
# Issue 6074: a long time ago on posix, and more recently on Windows,
|
||||||
# a read only source file resulted in a read only pyc file, which
|
# a read only source file resulted in a read only pyc file, which
|
||||||
|
@ -441,6 +447,7 @@ func_filename = func.func_code.co_filename
|
||||||
self.assertEqual(mod.func_filename, self.file_name)
|
self.assertEqual(mod.func_filename, self.file_name)
|
||||||
del sys.modules[self.module_name]
|
del sys.modules[self.module_name]
|
||||||
mod = self.import_module()
|
mod = self.import_module()
|
||||||
|
if not sys.dont_write_bytecode:
|
||||||
self.assertEqual(mod.module_filename, self.compiled_name)
|
self.assertEqual(mod.module_filename, self.compiled_name)
|
||||||
self.assertEqual(mod.code_filename, self.file_name)
|
self.assertEqual(mod.code_filename, self.file_name)
|
||||||
self.assertEqual(mod.func_filename, self.file_name)
|
self.assertEqual(mod.func_filename, self.file_name)
|
||||||
|
|
|
@ -170,6 +170,7 @@ class RunModuleTest(unittest.TestCase):
|
||||||
del d1 # Ensure __loader__ entry doesn't keep file open
|
del d1 # Ensure __loader__ entry doesn't keep file open
|
||||||
__import__(mod_name)
|
__import__(mod_name)
|
||||||
os.remove(mod_fname)
|
os.remove(mod_fname)
|
||||||
|
if not sys.dont_write_bytecode:
|
||||||
if verbose: print "Running from compiled:", mod_name
|
if verbose: print "Running from compiled:", mod_name
|
||||||
d2 = run_module(mod_name) # Read from bytecode
|
d2 = run_module(mod_name) # Read from bytecode
|
||||||
self.assertIn("x", d2)
|
self.assertIn("x", d2)
|
||||||
|
@ -192,6 +193,7 @@ class RunModuleTest(unittest.TestCase):
|
||||||
del d1 # Ensure __loader__ entry doesn't keep file open
|
del d1 # Ensure __loader__ entry doesn't keep file open
|
||||||
__import__(mod_name)
|
__import__(mod_name)
|
||||||
os.remove(mod_fname)
|
os.remove(mod_fname)
|
||||||
|
if not sys.dont_write_bytecode:
|
||||||
if verbose: print "Running from compiled:", pkg_name
|
if verbose: print "Running from compiled:", pkg_name
|
||||||
d2 = run_module(pkg_name) # Read from bytecode
|
d2 = run_module(pkg_name) # Read from bytecode
|
||||||
self.assertIn("x", d2)
|
self.assertIn("x", d2)
|
||||||
|
@ -246,6 +248,7 @@ from ..uncle.cousin import nephew
|
||||||
del d1 # Ensure __loader__ entry doesn't keep file open
|
del d1 # Ensure __loader__ entry doesn't keep file open
|
||||||
__import__(mod_name)
|
__import__(mod_name)
|
||||||
os.remove(mod_fname)
|
os.remove(mod_fname)
|
||||||
|
if not sys.dont_write_bytecode:
|
||||||
if verbose: print "Running from compiled:", mod_name
|
if verbose: print "Running from compiled:", mod_name
|
||||||
d2 = run_module(mod_name, run_name=run_name) # Read from bytecode
|
d2 = run_module(mod_name, run_name=run_name) # Read from bytecode
|
||||||
self.assertIn("__package__", d2)
|
self.assertIn("__package__", d2)
|
||||||
|
|
|
@ -818,6 +818,9 @@ Extension Modules
|
||||||
Tests
|
Tests
|
||||||
-----
|
-----
|
||||||
|
|
||||||
|
- Issue #11420: make test suite pass with -B/DONTWRITEBYTECODE set.
|
||||||
|
Initial patch by Thomas Wouters.
|
||||||
|
|
||||||
- Issue #17299: Add test coverage for cPickle with file objects and general IO
|
- Issue #17299: Add test coverage for cPickle with file objects and general IO
|
||||||
objects. Original patch by Aman Shah.
|
objects. Original patch by Aman Shah.
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue