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