Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / tools / src / nas,5.n2.os.2 / lib / python / lib / python2.4 / distutils / tests / test_install_scripts.py
CommitLineData
86530b38
AT
1"""Tests for distutils.command.install_scripts."""
2
3import os
4import unittest
5
6from distutils.command.install_scripts import install_scripts
7from distutils.core import Distribution
8
9from distutils.tests import support
10
11
12class InstallScriptsTestCase(support.TempdirManager,
13 support.LoggingSilencer,
14 unittest.TestCase):
15
16 def test_default_settings(self):
17 dist = Distribution()
18 dist.command_obj["build"] = support.DummyCommand(
19 build_scripts="/foo/bar")
20 dist.command_obj["install"] = support.DummyCommand(
21 install_scripts="/splat/funk",
22 force=1,
23 skip_build=1,
24 )
25 cmd = install_scripts(dist)
26 self.assert_(not cmd.force)
27 self.assert_(not cmd.skip_build)
28 self.assert_(cmd.build_dir is None)
29 self.assert_(cmd.install_dir is None)
30
31 cmd.finalize_options()
32
33 self.assert_(cmd.force)
34 self.assert_(cmd.skip_build)
35 self.assertEqual(cmd.build_dir, "/foo/bar")
36 self.assertEqual(cmd.install_dir, "/splat/funk")
37
38 def test_installation(self):
39 source = self.mkdtemp()
40 expected = []
41
42 def write_script(name, text):
43 expected.append(name)
44 f = open(os.path.join(source, name), "w")
45 f.write(text)
46 f.close()
47
48 write_script("script1.py", ("#! /usr/bin/env python2.3\n"
49 "# bogus script w/ Python sh-bang\n"
50 "pass\n"))
51 write_script("script2.py", ("#!/usr/bin/python\n"
52 "# bogus script w/ Python sh-bang\n"
53 "pass\n"))
54 write_script("shell.sh", ("#!/bin/sh\n"
55 "# bogus shell script w/ sh-bang\n"
56 "exit 0\n"))
57
58 target = self.mkdtemp()
59 dist = Distribution()
60 dist.command_obj["build"] = support.DummyCommand(build_scripts=source)
61 dist.command_obj["install"] = support.DummyCommand(
62 install_scripts=target,
63 force=1,
64 skip_build=1,
65 )
66 cmd = install_scripts(dist)
67 cmd.finalize_options()
68 cmd.run()
69
70 installed = os.listdir(target)
71 for name in expected:
72 self.assert_(name in installed)
73
74
75def test_suite():
76 return unittest.makeSuite(InstallScriptsTestCase)
77
78if __name__ == "__main__":
79 unittest.main(defaultTest="test_suite")