Mercurial > cpython-lru_cache-weakref
annotate Lib/distutils/tests/test_cmd.py @ 54294:dba767bc3155 legacy-trunk
remove mention of old ctypes version
| author | Benjamin Peterson <benjamin@python.org> |
|---|---|
| date | Sat, 23 May 2009 20:59:09 +0000 |
| parents | e03ba5f6f494 |
| children | 0bb232078b8c |
| rev | line source |
|---|---|
|
51393
b4820fceda24
Merged revisions 69360 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
1 """Tests for distutils.cmd.""" |
|
b4820fceda24
Merged revisions 69360 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
2 import unittest |
|
53145
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
3 import os |
|
51393
b4820fceda24
Merged revisions 69360 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
4 |
|
b4820fceda24
Merged revisions 69360 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
5 from distutils.cmd import Command |
|
b4820fceda24
Merged revisions 69360 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
6 from distutils.dist import Distribution |
|
b4820fceda24
Merged revisions 69360 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
7 from distutils.errors import DistutilsOptionError |
|
b4820fceda24
Merged revisions 69360 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
8 |
|
51418
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
9 class MyCmd(Command): |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
10 def initialize_options(self): |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
11 pass |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
12 |
|
51393
b4820fceda24
Merged revisions 69360 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
13 class CommandTestCase(unittest.TestCase): |
|
b4820fceda24
Merged revisions 69360 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
14 |
|
51418
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
15 def setUp(self): |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
16 dist = Distribution() |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
17 self.cmd = MyCmd(dist) |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
18 |
|
51393
b4820fceda24
Merged revisions 69360 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
19 def test_ensure_string_list(self): |
|
b4820fceda24
Merged revisions 69360 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
20 |
|
51418
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
21 cmd = self.cmd |
|
51393
b4820fceda24
Merged revisions 69360 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
22 cmd.not_string_list = ['one', 2, 'three'] |
|
b4820fceda24
Merged revisions 69360 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
23 cmd.yes_string_list = ['one', 'two', 'three'] |
|
b4820fceda24
Merged revisions 69360 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
24 cmd.not_string_list2 = object() |
|
b4820fceda24
Merged revisions 69360 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
25 cmd.yes_string_list2 = 'ok' |
|
b4820fceda24
Merged revisions 69360 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
26 cmd.ensure_string_list('yes_string_list') |
|
b4820fceda24
Merged revisions 69360 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
27 cmd.ensure_string_list('yes_string_list2') |
|
b4820fceda24
Merged revisions 69360 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
28 |
|
b4820fceda24
Merged revisions 69360 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
29 self.assertRaises(DistutilsOptionError, |
|
b4820fceda24
Merged revisions 69360 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
30 cmd.ensure_string_list, 'not_string_list') |
|
b4820fceda24
Merged revisions 69360 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
31 |
|
b4820fceda24
Merged revisions 69360 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
32 self.assertRaises(DistutilsOptionError, |
|
b4820fceda24
Merged revisions 69360 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
33 cmd.ensure_string_list, 'not_string_list2') |
|
b4820fceda24
Merged revisions 69360 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
34 |
|
51418
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
35 def test_make_file(self): |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
36 |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
37 cmd = self.cmd |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
38 |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
39 # making sure it raises when infiles is not a string or a list/tuple |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
40 self.assertRaises(TypeError, cmd.make_file, |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
41 infiles=1, outfile='', func='func', args=()) |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
42 |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
43 # making sure execute gets called properly |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
44 def _execute(func, args, exec_msg, level): |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
45 self.assertEquals(exec_msg, 'generating out from in') |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
46 cmd.force = True |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
47 cmd.execute = _execute |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
48 cmd.make_file(infiles='in', outfile='out', func='func', args=()) |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
49 |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
50 def test_dump_options(self): |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
51 |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
52 msgs = [] |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
53 def _announce(msg, level): |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
54 msgs.append(msg) |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
55 cmd = self.cmd |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
56 cmd.announce = _announce |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
57 cmd.option1 = 1 |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
58 cmd.option2 = 1 |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
59 cmd.user_options = [('option1', '', ''), ('option2', '', '')] |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
60 cmd.dump_options() |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
61 |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
62 wanted = ["command options for 'MyCmd':", ' option1 = 1', |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
63 ' option2 = 1'] |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
64 self.assertEquals(msgs, wanted) |
|
b091bf834226
Merged revisions 69385 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51393
diff
changeset
|
65 |
|
53145
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
66 def test_ensure_string(self): |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
67 cmd = self.cmd |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
68 cmd.option1 = 'ok' |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
69 cmd.ensure_string('option1') |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
70 |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
71 cmd.option2 = None |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
72 cmd.ensure_string('option2', 'xxx') |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
73 self.assert_(hasattr(cmd, 'option2')) |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
74 |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
75 cmd.option3 = 1 |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
76 self.assertRaises(DistutilsOptionError, cmd.ensure_string, 'option3') |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
77 |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
78 def test_ensure_string_list(self): |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
79 cmd = self.cmd |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
80 cmd.option1 = 'ok,dok' |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
81 cmd.ensure_string_list('option1') |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
82 self.assertEquals(cmd.option1, ['ok', 'dok']) |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
83 |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
84 cmd.option2 = ['xxx', 'www'] |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
85 cmd.ensure_string_list('option2') |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
86 |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
87 cmd.option3 = ['ok', 2] |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
88 self.assertRaises(DistutilsOptionError, cmd.ensure_string_list, |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
89 'option3') |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
90 |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
91 def test_ensure_filename(self): |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
92 cmd = self.cmd |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
93 cmd.option1 = __file__ |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
94 cmd.ensure_filename('option1') |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
95 cmd.option2 = 'xxx' |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
96 self.assertRaises(DistutilsOptionError, cmd.ensure_filename, 'option2') |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
97 |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
98 def test_ensure_dirname(self): |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
99 cmd = self.cmd |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
100 cmd.option1 = os.path.dirname(__file__) |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
101 cmd.ensure_dirname('option1') |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
102 cmd.option2 = 'xxx' |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
103 self.assertRaises(DistutilsOptionError, cmd.ensure_dirname, 'option2') |
|
e03ba5f6f494
Merged revisions 71585 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
51418
diff
changeset
|
104 |
|
51393
b4820fceda24
Merged revisions 69360 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
105 def test_suite(): |
|
b4820fceda24
Merged revisions 69360 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
106 return unittest.makeSuite(CommandTestCase) |
|
b4820fceda24
Merged revisions 69360 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
107 |
|
b4820fceda24
Merged revisions 69360 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
108 if __name__ == '__main__': |
|
b4820fceda24
Merged revisions 69360 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
109 test_support.run_unittest(test_suite()) |
