mirror of
https://github.com/python/cpython.git
synced 2025-07-24 11:44:31 +00:00
bpo-41490: Update ensurepip to install pip 20.2.1 and setuptools 49.2.1 (GH-21774)
This commit is contained in:
parent
1ecbfbc26a
commit
70e9243a55
6 changed files with 74 additions and 2 deletions
2
.github/workflows/build_msi.yml
vendored
2
.github/workflows/build_msi.yml
vendored
|
@ -9,6 +9,7 @@ on:
|
|||
- 3.7
|
||||
paths:
|
||||
- 'Tools/msi/**'
|
||||
- 'Lib/ensurepip/**'
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
|
@ -17,6 +18,7 @@ on:
|
|||
- 3.7
|
||||
paths:
|
||||
- 'Tools/msi/**'
|
||||
- 'Lib/ensurepip/**'
|
||||
|
||||
jobs:
|
||||
build_win32:
|
||||
|
|
|
@ -12,9 +12,9 @@ from . import _bundled
|
|||
__all__ = ["version", "bootstrap"]
|
||||
|
||||
|
||||
_SETUPTOOLS_VERSION = "47.1.0"
|
||||
_SETUPTOOLS_VERSION = "49.2.1"
|
||||
|
||||
_PIP_VERSION = "20.1.1"
|
||||
_PIP_VERSION = "20.2.1"
|
||||
|
||||
_PROJECTS = [
|
||||
("setuptools", _SETUPTOOLS_VERSION, "py3"),
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -1,10 +1,13 @@
|
|||
import sys
|
||||
import unittest
|
||||
import uuid
|
||||
|
||||
from . import data01
|
||||
from . import zipdata01, zipdata02
|
||||
from . import util
|
||||
from importlib import resources, import_module
|
||||
from pathlib import Path
|
||||
from test import support
|
||||
|
||||
|
||||
class ResourceTests:
|
||||
|
@ -162,5 +165,71 @@ class NamespaceTest(unittest.TestCase):
|
|||
'test.test_importlib.data03.namespace', 'resource1.txt')
|
||||
|
||||
|
||||
class DeletingZipsTest(unittest.TestCase):
|
||||
"""Having accessed resources in a zip file should not keep an open
|
||||
reference to the zip.
|
||||
"""
|
||||
ZIP_MODULE = zipdata01
|
||||
|
||||
def setUp(self):
|
||||
modules = support.modules_setup()
|
||||
self.addCleanup(support.modules_cleanup, *modules)
|
||||
|
||||
data_path = Path(self.ZIP_MODULE.__file__)
|
||||
data_dir = data_path.parent
|
||||
self.source_zip_path = data_dir / 'ziptestdata.zip'
|
||||
self.zip_path = Path.cwd() / '{}.zip'.format(uuid.uuid4())
|
||||
self.zip_path.write_bytes(self.source_zip_path.read_bytes())
|
||||
sys.path.append(str(self.zip_path))
|
||||
self.data = import_module('ziptestdata')
|
||||
|
||||
def tearDown(self):
|
||||
try:
|
||||
sys.path.remove(str(self.zip_path))
|
||||
except ValueError:
|
||||
pass
|
||||
|
||||
try:
|
||||
del sys.path_importer_cache[str(self.zip_path)]
|
||||
del sys.modules[self.data.__name__]
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
try:
|
||||
support.unlink(self.zip_path)
|
||||
except OSError:
|
||||
# If the test fails, this will probably fail too
|
||||
pass
|
||||
|
||||
def test_contents_does_not_keep_open(self):
|
||||
c = resources.contents('ziptestdata')
|
||||
self.zip_path.unlink()
|
||||
|
||||
def test_is_resource_does_not_keep_open(self):
|
||||
c = resources.is_resource('ziptestdata', 'binary.file')
|
||||
self.zip_path.unlink()
|
||||
|
||||
def test_is_resource_failure_does_not_keep_open(self):
|
||||
c = resources.is_resource('ziptestdata', 'not-present')
|
||||
self.zip_path.unlink()
|
||||
|
||||
def test_path_does_not_keep_open(self):
|
||||
c = resources.path('ziptestdata', 'binary.file')
|
||||
self.zip_path.unlink()
|
||||
|
||||
def test_entered_path_does_not_keep_open(self):
|
||||
# This is what certifi does on import to make its bundle
|
||||
# available for the process duration.
|
||||
c = resources.path('ziptestdata', 'binary.file').__enter__()
|
||||
self.zip_path.unlink()
|
||||
|
||||
def test_read_binary_does_not_keep_open(self):
|
||||
c = resources.read_binary('ziptestdata', 'binary.file')
|
||||
self.zip_path.unlink()
|
||||
|
||||
def test_read_text_does_not_keep_open(self):
|
||||
c = resources.read_text('ziptestdata', 'utf-8.file', encoding='utf-8')
|
||||
self.zip_path.unlink()
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Update :mod:`ensurepip` to install pip 20.2.1 and setuptools 49.2.1.
|
Loading…
Add table
Add a link
Reference in a new issue