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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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())