Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:agraul:bundle-benchmarks
saltbundlepy
python3-imp-returntype.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File python3-imp-returntype.patch of Package saltbundlepy
From 7bd6f0e5500f778e940374237b94651f60ae1990 Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 6 Jul 2018 21:00:45 -0700 Subject: [PATCH] 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. (cherry picked from commit b0274f2cddd36b49fe5080efbe160277ef546471) Co-authored-by: Benjamin Peterson <benjamin@python.org> --- Lib/imp.py | 13 ++++++------- Lib/test/test_imp.py | 15 +++++++++++++++ .../2018-07-05-22-45-46.bpo-34056.86isrU.rst | 3 +++ 3 files changed, 24 insertions(+), 7 deletions(-) create mode 100644 Misc/NEWS.d/next/Library/2018-07-05-22-45-46.bpo-34056.86isrU.rst --- a/Lib/test/test_imp.py +++ b/Lib/test/test_imp.py @@ -376,6 +376,20 @@ class ImportTests(unittest.TestCase): mod = imp.load_module('mymod', file, path, description) self.assertEqual(mod.x, 42) + def test_find_and_load_checked_pyc(self): + # issue 34056 + with support.temp_cwd(): + with open('mymod.py', 'wb') as fp: + fp.write(b'x = 42\n') + py_compile.compile( + 'mymod.py', + doraise=True, + invalidation_mode=py_compile.PycInvalidationMode.CHECKED_HASH, + ) + file, path, description = imp.find_module('mymod', path=['.']) + mod = imp.load_module('mymod', file, path, description) + self.assertEqual(mod.x, 42) + class ReloadTests(unittest.TestCase): --- /dev/null +++ b/Misc/NEWS.d/next/Library/2018-07-05-22-45-46.bpo-34056.86isrU.rst @@ -0,0 +1,3 @@ +Ensure the loader shim created by ``imp.load_module`` always returns bytes +from its ``get_data()`` function. This fixes using ``imp.load_module`` with +:pep:`552` hash-based pycs.
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor