Mercurial > cpython-lru_cache-weakref
annotate Lib/distutils/tests/test_check.py @ 79675:c0a2294de787 2.7
Issue #16199: Backport 2to3 typo fix from 3.2.
| author | Chris Jerdonek <chris.jerdonek@gmail.com> |
|---|---|
| date | Thu, 11 Oct 2012 16:15:46 -0700 |
| parents | 8d837bd8148a |
| children |
| rev | line source |
|---|---|
|
72834
8d837bd8148a
Fix distutils’ check and register Unicode handling (#13114).
Éric Araujo <merwok@netwok.org>
parents:
67854
diff
changeset
|
1 # -*- encoding: utf8 -*- |
|
53057
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
2 """Tests for distutils.command.check.""" |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
3 import unittest |
|
67854
6270946115d0
Merged revisions 86236,86240,86332,86340,87271,87273,87447 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents:
66348
diff
changeset
|
4 from test.test_support import run_unittest |
|
53057
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
5 |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
6 from distutils.command.check import check, HAS_DOCUTILS |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
7 from distutils.tests import support |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
8 from distutils.errors import DistutilsSetupError |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
9 |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
10 class CheckTestCase(support.LoggingSilencer, |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
11 support.TempdirManager, |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
12 unittest.TestCase): |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
13 |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
14 def _run(self, metadata=None, **options): |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
15 if metadata is None: |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
16 metadata = {} |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
17 pkg_info, dist = self.create_dist(**metadata) |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
18 cmd = check(dist) |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
19 cmd.initialize_options() |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
20 for name, value in options.items(): |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
21 setattr(cmd, name, value) |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
22 cmd.ensure_finalized() |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
23 cmd.run() |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
24 return cmd |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
25 |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
26 def test_check_metadata(self): |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
27 # 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
|
28 # by default, check is checking the metadata |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
29 # should have some warnings |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
30 cmd = self._run() |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
53199
diff
changeset
|
31 self.assertEqual(cmd._warnings, 2) |
|
53057
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
32 |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
33 # now let's add the required fields |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
34 # 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
|
35 # any warning anymore |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
36 metadata = {'url': 'xxx', 'author': 'xxx', |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
37 'author_email': 'xxx', |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
38 'name': 'xxx', 'version': 'xxx'} |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
39 cmd = self._run(metadata) |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
53199
diff
changeset
|
40 self.assertEqual(cmd._warnings, 0) |
|
53057
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
41 |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
42 # now with the strict mode, we should |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
43 # get an error if there are missing metadata |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
44 self.assertRaises(DistutilsSetupError, self._run, {}, **{'strict': 1}) |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
45 |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
46 # 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
|
47 cmd = self._run(metadata, strict=1) |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
53199
diff
changeset
|
48 self.assertEqual(cmd._warnings, 0) |
|
53057
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
49 |
|
72834
8d837bd8148a
Fix distutils’ check and register Unicode handling (#13114).
Éric Araujo <merwok@netwok.org>
parents:
67854
diff
changeset
|
50 # now a test with Unicode entries |
|
8d837bd8148a
Fix distutils’ check and register Unicode handling (#13114).
Éric Araujo <merwok@netwok.org>
parents:
67854
diff
changeset
|
51 metadata = {'url': u'xxx', 'author': u'\u00c9ric', |
|
8d837bd8148a
Fix distutils’ check and register Unicode handling (#13114).
Éric Araujo <merwok@netwok.org>
parents:
67854
diff
changeset
|
52 'author_email': u'xxx', u'name': 'xxx', |
|
8d837bd8148a
Fix distutils’ check and register Unicode handling (#13114).
Éric Araujo <merwok@netwok.org>
parents:
67854
diff
changeset
|
53 'version': u'xxx', |
|
8d837bd8148a
Fix distutils’ check and register Unicode handling (#13114).
Éric Araujo <merwok@netwok.org>
parents:
67854
diff
changeset
|
54 'description': u'Something about esszet \u00df', |
|
8d837bd8148a
Fix distutils’ check and register Unicode handling (#13114).
Éric Araujo <merwok@netwok.org>
parents:
67854
diff
changeset
|
55 'long_description': u'More things about esszet \u00df'} |
|
8d837bd8148a
Fix distutils’ check and register Unicode handling (#13114).
Éric Araujo <merwok@netwok.org>
parents:
67854
diff
changeset
|
56 cmd = self._run(metadata) |
|
8d837bd8148a
Fix distutils’ check and register Unicode handling (#13114).
Éric Araujo <merwok@netwok.org>
parents:
67854
diff
changeset
|
57 self.assertEqual(cmd._warnings, 0) |
|
8d837bd8148a
Fix distutils’ check and register Unicode handling (#13114).
Éric Araujo <merwok@netwok.org>
parents:
67854
diff
changeset
|
58 |
|
53057
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
59 def test_check_document(self): |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
60 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
|
61 return |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
62 pkg_info, dist = self.create_dist() |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
63 cmd = check(dist) |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
64 |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
65 # let's see if it detects broken rest |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
66 broken_rest = 'title\n===\n\ntest' |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
67 msgs = cmd._check_rst_data(broken_rest) |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
53199
diff
changeset
|
68 self.assertEqual(len(msgs), 1) |
|
53057
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
69 |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
70 # and non-broken rest |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
71 rest = 'title\n=====\n\ntest' |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
72 msgs = cmd._check_rst_data(rest) |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
53199
diff
changeset
|
73 self.assertEqual(len(msgs), 0) |
|
53057
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
74 |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
75 def test_check_restructuredtext(self): |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
76 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
|
77 return |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
78 # 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
|
79 broken_rest = 'title\n===\n\ntest' |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
80 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
|
81 cmd = check(dist) |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
82 cmd.check_restructuredtext() |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
53199
diff
changeset
|
83 self.assertEqual(cmd._warnings, 1) |
|
53057
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
84 |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
85 # 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
|
86 metadata = {'url': 'xxx', 'author': 'xxx', |
|
9eab0573d845
Merged revisions 71674 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
53062
diff
changeset
|
87 'author_email': 'xxx', |
|
9eab0573d845
Merged revisions 71674 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
53062
diff
changeset
|
88 'name': 'xxx', 'version': 'xxx', |
|
9eab0573d845
Merged revisions 71674 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
53062
diff
changeset
|
89 'long_description': broken_rest} |
|
9eab0573d845
Merged revisions 71674 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
53062
diff
changeset
|
90 self.assertRaises(DistutilsSetupError, self._run, metadata, |
|
9eab0573d845
Merged revisions 71674 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
53062
diff
changeset
|
91 **{'strict': 1, 'restructuredtext': 1}) |
|
53057
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
92 |
|
72834
8d837bd8148a
Fix distutils’ check and register Unicode handling (#13114).
Éric Araujo <merwok@netwok.org>
parents:
67854
diff
changeset
|
93 # and non-broken rest, including a non-ASCII character to test #12114 |
|
8d837bd8148a
Fix distutils’ check and register Unicode handling (#13114).
Éric Araujo <merwok@netwok.org>
parents:
67854
diff
changeset
|
94 metadata['long_description'] = u'title\n=====\n\ntest \u00df' |
|
53199
9eab0573d845
Merged revisions 71674 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
53062
diff
changeset
|
95 cmd = self._run(metadata, strict=1, restructuredtext=1) |
|
66348
614c84670c63
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
53199
diff
changeset
|
96 self.assertEqual(cmd._warnings, 0) |
|
53057
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
97 |
|
53062
3455fd78467e
Merged revisions 71478 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
53057
diff
changeset
|
98 def test_check_all(self): |
|
3455fd78467e
Merged revisions 71478 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
53057
diff
changeset
|
99 |
|
3455fd78467e
Merged revisions 71478 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
53057
diff
changeset
|
100 metadata = {'url': 'xxx', 'author': 'xxx'} |
|
3455fd78467e
Merged revisions 71478 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
53057
diff
changeset
|
101 self.assertRaises(DistutilsSetupError, self._run, |
|
3455fd78467e
Merged revisions 71478 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
53057
diff
changeset
|
102 {}, **{'strict': 1, |
|
3455fd78467e
Merged revisions 71478 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
53057
diff
changeset
|
103 'restructuredtext': 1}) |
|
3455fd78467e
Merged revisions 71478 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
53057
diff
changeset
|
104 |
|
53057
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
105 def test_suite(): |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
106 return unittest.makeSuite(CheckTestCase) |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
107 |
|
4a35c8a5be46
Merged revisions 71473 via svnmerge from
Tarek Ziadé <ziade.tarek@gmail.com>
parents:
diff
changeset
|
108 if __name__ == "__main__": |
|
67854
6270946115d0
Merged revisions 86236,86240,86332,86340,87271,87273,87447 via svnmerge from
Éric Araujo <merwok@netwok.org>
parents:
66348
diff
changeset
|
109 run_unittest(test_suite()) |
