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

test_install_scripts.py (2292B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\carbon\common\stdlib\distutils\tests\test_install_scripts.py
      2 import os
      3 import unittest
      4 from distutils.command.install_scripts import install_scripts
      5 from distutils.core import Distribution
      6 from distutils.tests import support
      7 
      8 class InstallScriptsTestCase(support.TempdirManager, support.LoggingSilencer, unittest.TestCase):
      9 
     10     def test_default_settings(self):
     11         dist = Distribution()
     12         dist.command_obj['build'] = support.DummyCommand(build_scripts='/foo/bar')
     13         dist.command_obj['install'] = support.DummyCommand(install_scripts='/splat/funk', force=1, skip_build=1)
     14         cmd = install_scripts(dist)
     15         self.assertTrue(not cmd.force)
     16         self.assertTrue(not cmd.skip_build)
     17         self.assertTrue(cmd.build_dir is None)
     18         self.assertTrue(cmd.install_dir is None)
     19         cmd.finalize_options()
     20         self.assertTrue(cmd.force)
     21         self.assertTrue(cmd.skip_build)
     22         self.assertEqual(cmd.build_dir, '/foo/bar')
     23         self.assertEqual(cmd.install_dir, '/splat/funk')
     24 
     25     def test_installation(self):
     26         source = self.mkdtemp()
     27         expected = []
     28 
     29         def write_script(name, text):
     30             expected.append(name)
     31             f = open(os.path.join(source, name), 'w')
     32             try:
     33                 f.write(text)
     34             finally:
     35                 f.close()
     36 
     37         write_script('script1.py', '#! /usr/bin/env python2.3\n# bogus script w/ Python sh-bang\npass\n')
     38         write_script('script2.py', '#!/usr/bin/python\n# bogus script w/ Python sh-bang\npass\n')
     39         write_script('shell.sh', '#!/bin/sh\n# bogus shell script w/ sh-bang\nexit 0\n')
     40         target = self.mkdtemp()
     41         dist = Distribution()
     42         dist.command_obj['build'] = support.DummyCommand(build_scripts=source)
     43         dist.command_obj['install'] = support.DummyCommand(install_scripts=target, force=1, skip_build=1)
     44         cmd = install_scripts(dist)
     45         cmd.finalize_options()
     46         cmd.run()
     47         installed = os.listdir(target)
     48         for name in expected:
     49             self.assertTrue(name in installed)
     50 
     51 
     52 def test_suite():
     53     return unittest.makeSuite(InstallScriptsTestCase)
     54 
     55 
     56 if __name__ == '__main__':
     57     unittest.main(defaultTest='test_suite')