annotate Lib/distutils/tests/test_check.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 9eab0573d845
children 614c84670c63 96f30fd54e0f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
53057
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
1 """Tests for distutils.command.check."""
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
2 import unittest
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
3
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
4 from distutils.command.check import check, HAS_DOCUTILS
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
5 from distutils.tests import support
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
6 from distutils.errors import DistutilsSetupError
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
7
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
8 class CheckTestCase(support.LoggingSilencer,
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
9 support.TempdirManager,
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
10 unittest.TestCase):
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
11
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
12 def _run(self, metadata=None, **options):
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
13 if metadata is None:
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
14 metadata = {}
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
15 pkg_info, dist = self.create_dist(**metadata)
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
16 cmd = check(dist)
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
17 cmd.initialize_options()
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
18 for name, value in options.items():
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
19 setattr(cmd, name, value)
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
20 cmd.ensure_finalized()
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
21 cmd.run()
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
22 return cmd
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
23
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
24 def test_check_metadata(self):
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
25 # let's run the command with no metadata at all
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
26 # by default, check is checking the metadata
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
27 # should have some warnings
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
28 cmd = self._run()
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
29 self.assertEquals(cmd._warnings, 2)
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
30
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
31 # now let's add the required fields
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
32 # and run it again, to make sure we don't get
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
33 # any warning anymore
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
34 metadata = {'url': 'xxx', 'author': 'xxx',
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
35 'author_email': 'xxx',
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
36 'name': 'xxx', 'version': 'xxx'}
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
37 cmd = self._run(metadata)
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
38 self.assertEquals(cmd._warnings, 0)
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
39
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
40 # now with the strict mode, we should
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
41 # get an error if there are missing metadata
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
42 self.assertRaises(DistutilsSetupError, self._run, {}, **{'strict': 1})
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
43
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
44 # and of course, no error when all metadata are present
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
45 cmd = self._run(metadata, strict=1)
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
46 self.assertEquals(cmd._warnings, 0)
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
47
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
48 def test_check_document(self):
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
49 if not HAS_DOCUTILS: # won't test without docutils
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
50 return
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
51 pkg_info, dist = self.create_dist()
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
52 cmd = check(dist)
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
53
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
54 # let's see if it detects broken rest
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
55 broken_rest = 'title\n===\n\ntest'
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
56 msgs = cmd._check_rst_data(broken_rest)
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
57 self.assertEquals(len(msgs), 1)
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
58
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
59 # and non-broken rest
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
60 rest = 'title\n=====\n\ntest'
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
61 msgs = cmd._check_rst_data(rest)
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
62 self.assertEquals(len(msgs), 0)
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
63
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
64 def test_check_restructuredtext(self):
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
65 if not HAS_DOCUTILS: # won't test without docutils
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
66 return
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
67 # let's see if it detects broken rest in long_description
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
68 broken_rest = 'title\n===\n\ntest'
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
69 pkg_info, dist = self.create_dist(long_description=broken_rest)
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
70 cmd = check(dist)
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
71 cmd.check_restructuredtext()
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
72 self.assertEquals(cmd._warnings, 1)
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
73
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
74 # let's see if we have an error with strict=1
53199
9eab0573d845 Merged revisions 71674 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53062
diff changeset
75 metadata = {'url': 'xxx', 'author': 'xxx',
9eab0573d845 Merged revisions 71674 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53062
diff changeset
76 'author_email': 'xxx',
9eab0573d845 Merged revisions 71674 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53062
diff changeset
77 'name': 'xxx', 'version': 'xxx',
9eab0573d845 Merged revisions 71674 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53062
diff changeset
78 'long_description': broken_rest}
9eab0573d845 Merged revisions 71674 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53062
diff changeset
79 self.assertRaises(DistutilsSetupError, self._run, metadata,
9eab0573d845 Merged revisions 71674 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53062
diff changeset
80 **{'strict': 1, 'restructuredtext': 1})
53057
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
81
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
82 # and non-broken rest
53199
9eab0573d845 Merged revisions 71674 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53062
diff changeset
83 metadata['long_description'] = 'title\n=====\n\ntest'
9eab0573d845 Merged revisions 71674 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53062
diff changeset
84 cmd = self._run(metadata, strict=1, restructuredtext=1)
53057
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
85 self.assertEquals(cmd._warnings, 0)
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
86
53062
3455fd78467e Merged revisions 71478 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53057
diff changeset
87 def test_check_all(self):
3455fd78467e Merged revisions 71478 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53057
diff changeset
88
3455fd78467e Merged revisions 71478 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53057
diff changeset
89 metadata = {'url': 'xxx', 'author': 'xxx'}
3455fd78467e Merged revisions 71478 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53057
diff changeset
90 self.assertRaises(DistutilsSetupError, self._run,
3455fd78467e Merged revisions 71478 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53057
diff changeset
91 {}, **{'strict': 1,
3455fd78467e Merged revisions 71478 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53057
diff changeset
92 'restructuredtext': 1})
3455fd78467e Merged revisions 71478 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents: 53057
diff changeset
93
53057
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
94 def test_suite():
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
95 return unittest.makeSuite(CheckTestCase)
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
96
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
97 if __name__ == "__main__":
4a35c8a5be46 Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff changeset
98 unittest.main(defaultTest="test_suite")