Commit Graph

96 Commits

Author SHA1 Message Date
Hai Shi
f7ba40b505 bpo-40275: Use new test.support helper submodules in tests (GH-20849) 2020-06-25 12:38:51 +02:00
Nina Zakharenko
69091cb497 bpo-35321: Set the spec origin to frozen in frozen modules (#11732)
* bpo-35321: Set the spec origin to frozen in frozen modules

This fix correctly sets the spec origin to
"frozen" for the _frozen_importlib module. Note that the
origin was already correctly set in _frozen_importlib_external.

* 📜🤖 Added by blurb_it.
2019-02-04 16:56:26 -08:00
Benjamin Peterson
b0274f2cdd closes bpo-34056: Always return bytes from _HackedGetData.get_data(). (GH-8130)
* Always return bytes from _HackedGetData.get_data().

Ensure the imp.load_source shim always returns bytes by reopening the file in
binary mode if needed. Hash-based pycs have to receive the source code in bytes.

It's tempting to change imp.get_suffixes() to always return 'rb' as a mode, but
that breaks some stdlib tests and likely 3rdparty code, too.
2018-07-06 20:41:06 -07:00
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