test_bdist_dumb.py (2684B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\carbon\common\stdlib\distutils\tests\test_bdist_dumb.py 2 import unittest 3 import sys 4 import os 5 try: 6 import zlib 7 except ImportError: 8 zlib = None 9 10 from test.test_support import run_unittest 11 from distutils.core import Distribution 12 from distutils.command.bdist_dumb import bdist_dumb 13 from distutils.tests import support 14 SETUP_PY = "from distutils.core import setup\nimport foo\n\nsetup(name='foo', version='0.1', py_modules=['foo'],\n url='xxx', author='xxx', author_email='xxx')\n\n" 15 16 class BuildDumbTestCase(support.TempdirManager, support.LoggingSilencer, support.EnvironGuard, unittest.TestCase): 17 18 def setUp(self): 19 super(BuildDumbTestCase, self).setUp() 20 self.old_location = os.getcwd() 21 self.old_sys_argv = (sys.argv, sys.argv[:]) 22 23 def tearDown(self): 24 os.chdir(self.old_location) 25 sys.argv = self.old_sys_argv[0] 26 sys.argv[:] = self.old_sys_argv[1] 27 super(BuildDumbTestCase, self).tearDown() 28 29 @unittest.skipUnless(zlib, 'requires zlib') 30 def test_simple_built(self): 31 tmp_dir = self.mkdtemp() 32 pkg_dir = os.path.join(tmp_dir, 'foo') 33 os.mkdir(pkg_dir) 34 self.write_file((pkg_dir, 'setup.py'), SETUP_PY) 35 self.write_file((pkg_dir, 'foo.py'), '#') 36 self.write_file((pkg_dir, 'MANIFEST.in'), 'include foo.py') 37 self.write_file((pkg_dir, 'README'), '') 38 dist = Distribution({'name': 'foo', 39 'version': '0.1', 40 'py_modules': ['foo'], 41 'url': 'xxx', 42 'author': 'xxx', 43 'author_email': 'xxx'}) 44 dist.script_name = 'setup.py' 45 os.chdir(pkg_dir) 46 sys.argv = ['setup.py'] 47 cmd = bdist_dumb(dist) 48 cmd.format = 'zip' 49 cmd.ensure_finalized() 50 cmd.run() 51 dist_created = os.listdir(os.path.join(pkg_dir, 'dist')) 52 base = '%s.%s' % (dist.get_fullname(), cmd.plat_name) 53 if os.name == 'os2': 54 base = base.replace(':', '-') 55 wanted = ['%s.zip' % base] 56 self.assertEqual(dist_created, wanted) 57 58 def test_finalize_options(self): 59 pkg_dir, dist = self.create_dist() 60 os.chdir(pkg_dir) 61 cmd = bdist_dumb(dist) 62 self.assertEqual(cmd.bdist_dir, None) 63 cmd.finalize_options() 64 base = cmd.get_finalized_command('bdist').bdist_base 65 self.assertEqual(cmd.bdist_dir, os.path.join(base, 'dumb')) 66 default = cmd.default_format[os.name] 67 self.assertEqual(cmd.format, default) 68 69 70 def test_suite(): 71 return unittest.makeSuite(BuildDumbTestCase) 72 73 74 if __name__ == '__main__': 75 run_unittest(test_suite())