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