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