|
1 | 1 | # -*- encoding: utf8 -*- |
2 | 2 | """Tests for distutils.command.check.""" |
| 3 | +import os |
3 | 4 | import textwrap |
4 | 5 | import unittest |
5 | 6 | from test.test_support import run_unittest |
|
14 | 15 | pygments = None |
15 | 16 |
|
16 | 17 |
|
| 18 | +HERE = os.path.dirname(__file__) |
| 19 | + |
| 20 | + |
17 | 21 | class CheckTestCase(support.LoggingSilencer, |
18 | 22 | support.TempdirManager, |
19 | 23 | unittest.TestCase): |
20 | 24 |
|
21 | | - def _run(self, metadata=None, **options): |
| 25 | + def _run(self, metadata=None, cwd=None, **options): |
22 | 26 | if metadata is None: |
23 | 27 | metadata = {} |
| 28 | + if cwd is not None: |
| 29 | + old_dir = os.getcwd() |
| 30 | + os.chdir(cwd) |
24 | 31 | pkg_info, dist = self.create_dist(**metadata) |
25 | 32 | cmd = check(dist) |
26 | 33 | cmd.initialize_options() |
27 | 34 | for name, value in options.items(): |
28 | 35 | setattr(cmd, name, value) |
29 | 36 | cmd.ensure_finalized() |
30 | 37 | cmd.run() |
| 38 | + if cwd is not None: |
| 39 | + os.chdir(old_dir) |
31 | 40 | return cmd |
32 | 41 |
|
33 | 42 | def test_check_metadata(self): |
@@ -100,6 +109,11 @@ def test_check_restructuredtext(self): |
100 | 109 | cmd = self._run(metadata, strict=1, restructuredtext=1) |
101 | 110 | self.assertEqual(cmd._warnings, 0) |
102 | 111 |
|
| 112 | + # check that includes work to test #31292 |
| 113 | + metadata['long_description'] = 'title\n=====\n\n.. include:: includetest.rst' |
| 114 | + cmd = self._run(metadata, cwd=HERE, strict=1, restructuredtext=1) |
| 115 | + self.assertEqual(cmd._warnings, 0) |
| 116 | + |
103 | 117 | @unittest.skipUnless(HAS_DOCUTILS, "won't test without docutils") |
104 | 118 | def test_check_restructuredtext_with_syntax_highlight(self): |
105 | 119 | # Don't fail if there is a `code` or `code-block` directive |
|
0 commit comments