mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 10:26:02 +00:00 
			
		
		
		
	 960cf0fd9b
			
		
	
	
		960cf0fd9b
		
	
	
	
	
		
			
			svn+ssh://pythondev@svn.python.org/python/trunk ........ r68167 | vinay.sajip | 2009-01-02 12:53:04 -0600 (Fri, 02 Jan 2009) | 1 line Minor documentation changes relating to NullHandler, the module used for handlers and references to ConfigParser. ........ r68276 | tarek.ziade | 2009-01-03 18:04:49 -0600 (Sat, 03 Jan 2009) | 1 line fixed #1702551: distutils sdist was not pruning VCS directories under win32 ........ r68292 | skip.montanaro | 2009-01-04 04:36:58 -0600 (Sun, 04 Jan 2009) | 3 lines If user configures --without-gcc give preference to $CC instead of blindly assuming the compiler will be "cc". ........ r68293 | tarek.ziade | 2009-01-04 04:37:52 -0600 (Sun, 04 Jan 2009) | 1 line using clearer syntax ........ r68344 | marc-andre.lemburg | 2009-01-05 13:43:35 -0600 (Mon, 05 Jan 2009) | 7 lines Fix #4846 (Py_UNICODE_ISSPACE causes linker error) by moving the declaration into the extern "C" section. Add a few more comments and apply some minor edits to make the file contents fit the original structure again. ........
		
			
				
	
	
		
			110 lines
		
	
	
	
		
			3.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			110 lines
		
	
	
	
		
			3.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| """Tests for distutils.command.sdist."""
 | |
| import os
 | |
| import unittest
 | |
| import shutil
 | |
| import zipfile
 | |
| from os.path import join
 | |
| 
 | |
| from distutils.command.sdist import sdist
 | |
| from distutils.core import Distribution
 | |
| from distutils.tests.test_config import PyPIRCCommandTestCase
 | |
| 
 | |
| CURDIR = os.path.dirname(__file__)
 | |
| TEMP_PKG = join(CURDIR, 'temppkg')
 | |
| 
 | |
| SETUP_PY = """
 | |
| from distutils.core import setup
 | |
| import somecode
 | |
| 
 | |
| setup(name='fake')
 | |
| """
 | |
| 
 | |
| MANIFEST_IN = """
 | |
| recursive-include somecode *
 | |
| """
 | |
| 
 | |
| class sdistTestCase(PyPIRCCommandTestCase):
 | |
| 
 | |
|     def setUp(self):
 | |
|         PyPIRCCommandTestCase.setUp(self)
 | |
|         self.old_path = os.getcwd()
 | |
| 
 | |
|     def tearDown(self):
 | |
|         os.chdir(self.old_path)
 | |
|         if os.path.exists(TEMP_PKG):
 | |
|             shutil.rmtree(TEMP_PKG)
 | |
|         PyPIRCCommandTestCase.tearDown(self)
 | |
| 
 | |
|     def _write(self, path, content):
 | |
|         f = open(path, 'w')
 | |
|         try:
 | |
|             f.write(content)
 | |
|         finally:
 | |
|             f.close()
 | |
| 
 | |
|     def test_prune_file_list(self):
 | |
|         # this test creates a package with some vcs dirs in it
 | |
|         # and launch sdist to make sure they get pruned
 | |
|         # on all systems
 | |
|         if not os.path.exists(TEMP_PKG):
 | |
|             os.mkdir(TEMP_PKG)
 | |
|         os.mkdir(join(TEMP_PKG, 'somecode'))
 | |
| 
 | |
|         # creating a MANIFEST, a package, and a README
 | |
|         self._write(join(TEMP_PKG, 'MANIFEST.in'), MANIFEST_IN)
 | |
|         self._write(join(TEMP_PKG, 'README'), 'xxx')
 | |
|         self._write(join(TEMP_PKG, 'somecode', '__init__.py'), '#')
 | |
|         self._write(join(TEMP_PKG, 'setup.py'), SETUP_PY)
 | |
| 
 | |
|         # creating VCS directories with some files in them
 | |
|         os.mkdir(join(TEMP_PKG, 'somecode', '.svn'))
 | |
|         self._write(join(TEMP_PKG, 'somecode', '.svn', 'ok.py'), 'xxx')
 | |
| 
 | |
|         os.mkdir(join(TEMP_PKG, 'somecode', '.hg'))
 | |
|         self._write(join(TEMP_PKG, 'somecode', '.hg',
 | |
|                          'ok'), 'xxx')
 | |
| 
 | |
|         os.mkdir(join(TEMP_PKG, 'somecode', '.git'))
 | |
|         self._write(join(TEMP_PKG, 'somecode', '.git',
 | |
|                          'ok'), 'xxx')
 | |
| 
 | |
|         os.chdir(TEMP_PKG)
 | |
| 
 | |
|         # now building a sdist
 | |
|         dist = Distribution()
 | |
|         dist.script_name = 'setup.py'
 | |
|         dist.metadata.name = 'fake'
 | |
|         dist.metadata.version = '1.0'
 | |
|         dist.metadata.url = 'http://xxx'
 | |
|         dist.metadata.author = dist.metadata.author_email = 'xxx'
 | |
|         dist.packages = ['somecode']
 | |
|         dist.include_package_data = True
 | |
|         cmd = sdist(dist)
 | |
|         cmd.manifest = 'MANIFEST'
 | |
|         cmd.template = 'MANIFEST.in'
 | |
|         cmd.dist_dir = 'dist'
 | |
| 
 | |
|         # zip is available universally
 | |
|         # (tar might not be installed under win32)
 | |
|         cmd.formats = ['zip']
 | |
|         cmd.run()
 | |
| 
 | |
|         # now let's check what we have
 | |
|         dist_folder = join(TEMP_PKG, 'dist')
 | |
|         files = os.listdir(dist_folder)
 | |
|         self.assertEquals(files, ['fake-1.0.zip'])
 | |
| 
 | |
|         zip_file = zipfile.ZipFile(join(dist_folder, 'fake-1.0.zip'))
 | |
|         try:
 | |
|             content = zip_file.namelist()
 | |
|         finally:
 | |
|             zip_file.close()
 | |
| 
 | |
|         # making sure everything has been pruned correctly
 | |
|         self.assertEquals(len(content), 4)
 | |
| 
 | |
| def test_suite():
 | |
|     return unittest.makeSuite(sdistTestCase)
 | |
| 
 | |
| if __name__ == "__main__":
 | |
|     unittest.main(defaultTest="test_suite")
 |