Benjamin Peterson
42aa93b8ff
closes bpo-31650: PEP 552 (Deterministic pycs) implementation ( #4575 )
...
Python now supports checking bytecode cache up-to-dateness with a hash of the
source contents rather than volatile source metadata. See the PEP for details.
While a fairly straightforward idea, quite a lot of code had to be modified due
to the pervasiveness of pyc implementation details in the codebase. Changes in
this commit include:
- The core changes to importlib to understand how to read, validate, and
regenerate hash-based pycs.
- Support for generating hash-based pycs in py_compile and compileall.
- Modifications to our siphash implementation to support passing a custom
key. We then expose it to importlib through _imp.
- Updates to all places in the interpreter, standard library, and tests that
manually generate or parse pyc files to grok the new format.
- Support in the interpreter command line code for long options like
--check-hash-based-pycs.
- Tests and documentation for all of the above.
2017-12-09 10:26:52 -08:00
luzpaz
a5293b4ff2
Fix miscellaneous typos ( #4275 )
2017-11-05 15:37:50 +02:00
Victor Stinner
a505ecdc50
bpo-31676: Fix test_imp.test_load_source() side effect ( #3871 )
...
test_load_source() now replaces the current __name__ module with a
temporary module to prevent side effects.
2017-10-13 13:47:49 -07:00
Oren Milman
9974e1bcf3
bpo-31315: Fix an assertion failure in imp.create_dynamic(), when spec.name is not a string. ( #3257 )
2017-09-19 14:39:47 +03:00
Antoine Pitrou
a6a4dc816d
bpo-31370: Remove support for threads-less builds ( #3385 )
...
* Remove Setup.config
* Always define WITH_THREAD for compatibility.
2017-09-07 18:56:24 +02:00
Serhiy Storchaka
f7eae0adfc
[security] bpo-13617: Reject embedded null characters in wchar* strings. ( #2302 )
...
Based on patch by Victor Stinner.
Add private C API function _PyUnicode_AsUnicode() which is similar to
PyUnicode_AsUnicode(), but checks for null characters.
2017-06-28 08:30:06 +03:00
Serhiy Storchaka
a6f26c1d34
Remove more unused imports in tests.
2016-04-25 00:05:30 +03:00
Brett Cannon
213b4056a6
Issue #25487 : Fix tests not updated when the imp module moved to a
...
DeprecationWarning.
Thanks to Martin Panter for finding the tests.
2015-10-30 14:41:06 -07:00
Nick Coghlan
9d3c61c86a
Close #24748 : Restore imp.load_dynamic compatibility
...
To resolve a compatibility problem found with py2exe and
pywin32, imp.load_dynamic() once again ignores previously loaded modules
to support Python modules replacing themselves with extension modules.
Patch by Petr Viktorin.
2015-09-05 21:05:05 +10:00
Brett Cannon
f299abdafa
Issue #23731 : Implement PEP 488.
...
The concept of .pyo files no longer exists. Now .pyc files have an
optional `opt-` tag which specifies if any extra optimizations beyond
the peepholer were applied.
2015-04-13 14:21:02 -04:00
Victor Stinner
047b7ae566
Issue #22390 : Remove files created by tests
2014-10-05 17:37:41 +02:00
Zachary Ware
101d9e7250
Issue 19572: More silently skipped tests explicitly skipped.
2013-12-08 00:44:27 -06:00
Zachary Ware
9fe6d86709
Issue 19572: More silently skipped tests explicitly skipped.
2013-12-08 00:20:35 -06:00
Serhiy Storchaka
6787a3806e
Issue #15204 : Deprecated the 'U' mode in file-like objects.
2013-11-23 22:12:06 +02:00
Brett Cannon
330cc52c99
Delete merge markers
2013-08-23 12:10:09 -04:00
Brett Cannon
16ababc213
merge for issue #18755
2013-08-23 11:52:19 -04:00
Brett Cannon
a4975a911d
Issue #18755 : Allow imp.load_*() loaders to have get_data() called
...
multiple times.
2013-08-23 11:45:57 -04:00
Antoine Pitrou
bb2c45e7a4
Issue #7732 : try to fix test_bug7732's flakiness on Windows by executing it in a fresh temporary directory.
2013-08-19 23:31:18 +02:00
Eric Snow
7491f1726b
issue #18698 : ensure importlib.reload() returns the module out of sys.modules.
2013-08-14 18:03:34 -06:00
Serhiy Storchaka
3ee11407f8
Issue #18706 : Fix a test for issue #18681 so it no longer breaks test_codeccallbacks*.
2013-08-11 20:13:36 +03:00
Serhiy Storchaka
b212291b08
Issue #18706 : Fix a test for issue #18681 so it no longer breaks test_codeccallbacks*.
2013-08-11 20:12:20 +03:00
Ezio Melotti
fbcf4d78c8
#18681 : merge with 3.3.
2013-08-10 20:01:43 +03:00
Ezio Melotti
056bafe7a6
#18681 : Fix a NameError in imp.reload() (noticed by Weizhao Li).
2013-08-10 19:59:36 +03:00
Brett Cannon
e4f41deccf
Issue #17177 : The imp module is pending deprecation.
...
To make sure there is no issue with code that is both Python 2 and 3
compatible, there are no plans to remove the module any sooner than
Python 4 (unless the community moves to Python 3 solidly before then).
2013-06-16 13:13:40 -04:00
Brett Cannon
997487d5d7
Issue #7732 : Move an imp.find_module test from test_import to
...
test_imp.
2013-06-07 13:26:53 -04:00
Benjamin Peterson
fc6f4cd398
merge 3.3
2013-05-11 16:29:11 -05:00
Benjamin Peterson
aa6f688bd4
only close non-None files
2013-05-11 16:29:03 -05:00
Brett Cannon
dea2ec4b1d
Fix a test to not use an assertion for something that could be
...
legitimately false.
2013-05-04 18:11:12 -04:00
Brett Cannon
8772b18bc4
Change a test assertion to a conditional so the test will pass on
...
Windows.
2013-05-04 17:54:57 -04:00
Brett Cannon
95ea11fa31
add trailing newline to file
2013-05-03 10:57:08 -04:00
Brett Cannon
142685337f
Move test_imp over to unittest.main()
2013-05-03 10:56:19 -04:00
Brett Cannon
130e48199a
Guard more tests in test_imp requiring imp.load_dynamic() to exist.
2013-05-03 10:54:23 -04:00
Brett Cannon
2a9c653f38
#15902 : merge w/ 3.3
2013-05-03 10:47:17 -04:00
Brett Cannon
9d0f772c51
Issue #15902 : Fix imp.load_module() to accept None as a file when
...
trying to load an extension module.
While at it, also add a proper unittest.skipIf() guard to another test
involving imp.load_dynamic().
2013-05-03 10:37:08 -04:00
Ezio Melotti
469da97c1e
#11420 : merge with 3.3.
2013-03-16 21:50:04 +02:00
Ezio Melotti
e5e7a7cbf4
#11420 : merge with 3.2.
2013-03-16 21:49:20 +02:00
Ezio Melotti
c28f6fa505
#11420 : make test suite pass with -B/DONTWRITEBYTECODE set. Initial patch by Thomas Wouters.
2013-03-16 19:48:51 +02:00
Andrew Svetlov
ef9a43b2c9
Rename test module names for #16421 to don't clash with other tests.
2012-12-15 17:22:59 +02:00
Andrew Svetlov
6b2cbeba58
Issue #16421 : allow to load multiple modules from the same shared object.
...
Patch by Václav Šmilauer.
2012-12-14 17:04:59 +02:00
Brett Cannon
848cdfdf97
Issue #15828 : Don't try to close a file if imp.find_module() doesn't
...
return one.
2012-08-31 11:31:20 -04:00
Nick Coghlan
91b9f139bc
Issue #15828 : Restore support for C extension modules in imp.load_module()
2012-09-01 00:13:45 +10:00
Brett Cannon
19a2f5961c
Issue #15056 : imp.cache_from_source() and source_from_cache() raise
...
NotimplementedError when sys.implementation.cache_tag is None.
Thanks to Pranav Ravichandran for taking an initial stab at the patch.
2012-07-09 13:58:07 -04:00
Antoine Pitrou
06e37587ff
Try to further debug occasional buildbot failure
2012-06-23 17:27:56 +02:00
Brett Cannon
c049952de7
Issue #13959 : Have
...
importlib.abc.FileLoader.load_module()/get_filename() and
importlib.machinery.ExtensionFileLoader.load_module() have their
single argument be optional as the loader's constructor has all the
ncessary information.
This allows for the deprecation of
imp.load_source()/load_compile()/load_package().
2012-05-11 14:48:41 -04:00
Brett Cannon
410e88d5fc
Change tests for imp.cache_from_source() to follow os.path.join/split
...
semantics.
2012-04-22 13:29:47 -04:00
Brett Cannon
f0434e647a
Issue #14599 : Generalize a test for ImportError.path and add support
...
in Python/dynload_shlibs.c.
This should fix the remaining importlib test failure on Windows.
Support in AIX and HP-UX will be in a separate checkin.
2012-04-20 15:22:50 -04:00
Brett Cannon
dd9a56953e
Issue #14633 : Simplify imp.find_modue() test after fixes from issue
...
#14629 changed the message.
2012-04-20 12:59:59 -04:00
Antoine Pitrou
9a4d7ddb6c
More debug output
2012-02-27 22:01:25 +01:00
Antoine Pitrou
ffd85c8182
Improve debugging output for test failure
2012-02-27 20:04:05 +01:00
Antoine Pitrou
4f92a68a81
Issue #14080 : fix sporadic test_imp failure. Patch by Stefan Krah.
2012-02-26 18:09:50 +01:00