Coverage for tests/test_import.py: 28%
22 statements
« prev ^ index » next coverage.py v6.5.0, created at 2023-02-03 09:58 +0000
« prev ^ index » next coverage.py v6.5.0, created at 2023-02-03 09:58 +0000
1# This file is part of drp_tasks.
2#
3# LSST Data Management System
4# This product includes software developed by the
5# LSST Project (http://www.lsst.org/).
6# See COPYRIGHT file at the top of the source tree.
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU General Public License as published by
10# the Free Software Foundation, either version 3 of the License, or
11# (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU General Public License for more details.
17#
18# You should have received a copy of the LSST License Statement and
19# the GNU General Public License along with this program. If not,
20# see <https://www.lsstcorp.org/LegalNotices/>.
22import importlib.resources
23import os.path
24import unittest
26from lsst.utils import doImport
29class ImportTestCase(unittest.TestCase):
30 """Test that every file can be imported.
32 drp_tasks does not import all the task code by default and not
33 every file will always have a test.
34 """
36 def test_import(self):
37 self.assertImport("lsst.drp.tasks")
39 def assertImport(self, root_pkg):
40 for file in importlib.resources.contents(root_pkg):
41 if not file.endswith(".py"):
42 continue
43 if file.startswith("__"):
44 continue
45 root, ext = os.path.splitext(file)
46 module_name = f"{root_pkg}.{root}"
47 with self.subTest(module=module_name):
48 try:
49 doImport(module_name)
50 except ImportError as e:
51 raise AssertionError(f"Error importing module {module_name}: {e}") from e
54if __name__ == "__main__": 54 ↛ 55line 54 didn't jump to line 55, because the condition on line 54 was never true
55 unittest.main()