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