mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +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 |     - 3.7 | ||||||
|     paths: |     paths: | ||||||
|     - 'Tools/msi/**' |     - 'Tools/msi/**' | ||||||
|  |     - 'Lib/ensurepip/**' | ||||||
|   pull_request: |   pull_request: | ||||||
|     branches: |     branches: | ||||||
|     - master |     - master | ||||||
|  | @ -17,6 +18,7 @@ on: | ||||||
|     - 3.7 |     - 3.7 | ||||||
|     paths: |     paths: | ||||||
|     - 'Tools/msi/**' |     - 'Tools/msi/**' | ||||||
|  |     - 'Lib/ensurepip/**' | ||||||
| 
 | 
 | ||||||
| jobs: | jobs: | ||||||
|   build_win32: |   build_win32: | ||||||
|  |  | ||||||
|  | @ -12,9 +12,9 @@ | ||||||
| __all__ = ["version", "bootstrap"] | __all__ = ["version", "bootstrap"] | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| _SETUPTOOLS_VERSION = "47.1.0" | _SETUPTOOLS_VERSION = "49.2.1" | ||||||
| 
 | 
 | ||||||
| _PIP_VERSION = "20.1.1" | _PIP_VERSION = "20.2.1" | ||||||
| 
 | 
 | ||||||
| _PROJECTS = [ | _PROJECTS = [ | ||||||
|     ("setuptools", _SETUPTOOLS_VERSION, "py3"), |     ("setuptools", _SETUPTOOLS_VERSION, "py3"), | ||||||
|  |  | ||||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							|  | @ -1,10 +1,13 @@ | ||||||
| import sys | import sys | ||||||
| import unittest | import unittest | ||||||
|  | import uuid | ||||||
| 
 | 
 | ||||||
| from . import data01 | from . import data01 | ||||||
| from . import zipdata01, zipdata02 | from . import zipdata01, zipdata02 | ||||||
| from . import util | from . import util | ||||||
| from importlib import resources, import_module | from importlib import resources, import_module | ||||||
|  | from pathlib import Path | ||||||
|  | from test import support | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class ResourceTests: | class ResourceTests: | ||||||
|  | @ -162,5 +165,71 @@ def test_namespaces_cannot_have_resources(self): | ||||||
|             'test.test_importlib.data03.namespace', 'resource1.txt') |             '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__': | if __name__ == '__main__': | ||||||
|     unittest.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
	
	 Steve Dower
						Steve Dower