1 """Tests for the pdeps script in the Tools directory."""
2
3 import os
4 import unittest
5 import tempfile
6
7 from test.test_tools import skip_if_missing, import_tool
8
9 skip_if_missing()
10
11
12 class ESC[4;38;5;81mPdepsTests(ESC[4;38;5;149munittestESC[4;38;5;149m.ESC[4;38;5;149mTestCase):
13
14 @classmethod
15 def setUpClass(self):
16 self.pdeps = import_tool('pdeps')
17
18 def test_process_errors(self):
19 # Issue #14492: m_import.match(line) can be None.
20 with tempfile.TemporaryDirectory() as tmpdir:
21 fn = os.path.join(tmpdir, 'foo')
22 with open(fn, 'w', encoding='utf-8') as stream:
23 stream.write("#!/this/will/fail")
24 self.pdeps.process(fn, {})
25
26 def test_inverse_attribute_error(self):
27 # Issue #14492: this used to fail with an AttributeError.
28 self.pdeps.inverse({'a': []})
29
30
31 if __name__ == '__main__':
32 unittest.main()