ยปCore Development>Code coverage>Lib/packaging/tests/test_command_config.py

Python code coverage for Lib/packaging/tests/test_command_config.py

#countcontent
1n/a"""Tests for distutils.command.config."""
2n/aimport os
3n/aimport sys
4n/aimport logging
5n/a
6n/afrom packaging.command.config import dump_file, config
7n/afrom packaging.tests import unittest, support
8n/a
9n/a
10n/aclass ConfigTestCase(support.LoggingCatcher,
11n/a support.TempdirManager,
12n/a unittest.TestCase):
13n/a
14n/a def test_dump_file(self):
15n/a this_file = __file__.rstrip('co')
16n/a with open(this_file) as f:
17n/a numlines = len(f.readlines())
18n/a
19n/a dump_file(this_file, 'I am the header')
20n/a
21n/a logs = []
22n/a for log in self.get_logs(logging.INFO):
23n/a logs.extend(line for line in log.split('\n'))
24n/a self.assertEqual(len(logs), numlines + 2)
25n/a
26n/a @unittest.skipIf(sys.platform == 'win32', 'disabled on win32')
27n/a def test_search_cpp(self):
28n/a pkg_dir, dist = self.create_dist()
29n/a cmd = config(dist)
30n/a
31n/a # simple pattern searches
32n/a match = cmd.search_cpp(pattern='xxx', body='/* xxx */')
33n/a self.assertEqual(match, 0)
34n/a
35n/a match = cmd.search_cpp(pattern='_configtest', body='/* xxx */')
36n/a self.assertEqual(match, 1)
37n/a
38n/a def test_finalize_options(self):
39n/a # finalize_options does a bit of transformation
40n/a # on options
41n/a pkg_dir, dist = self.create_dist()
42n/a cmd = config(dist)
43n/a cmd.include_dirs = 'one%stwo' % os.pathsep
44n/a cmd.libraries = 'one'
45n/a cmd.library_dirs = 'three%sfour' % os.pathsep
46n/a cmd.ensure_finalized()
47n/a
48n/a self.assertEqual(cmd.include_dirs, ['one', 'two'])
49n/a self.assertEqual(cmd.libraries, ['one'])
50n/a self.assertEqual(cmd.library_dirs, ['three', 'four'])
51n/a
52n/a def test_clean(self):
53n/a # _clean removes files
54n/a tmp_dir = self.mkdtemp()
55n/a f1 = os.path.join(tmp_dir, 'one')
56n/a f2 = os.path.join(tmp_dir, 'two')
57n/a
58n/a self.write_file(f1, 'xxx')
59n/a self.write_file(f2, 'xxx')
60n/a
61n/a for f in (f1, f2):
62n/a self.assertTrue(os.path.exists(f))
63n/a
64n/a pkg_dir, dist = self.create_dist()
65n/a cmd = config(dist)
66n/a cmd._clean(f1, f2)
67n/a
68n/a for f in (f1, f2):
69n/a self.assertFalse(os.path.exists(f))
70n/a
71n/a
72n/adef test_suite():
73n/a return unittest.makeSuite(ConfigTestCase)
74n/a
75n/aif __name__ == "__main__":
76n/a unittest.main(defaultTest="test_suite")