NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

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())