Coverage for tests/test_executables.py: 38%
15 statements
« prev ^ index » next coverage.py v7.3.1, created at 2023-09-17 07:53 +0000
« prev ^ index » next coverage.py v7.3.1, created at 2023-09-17 07:53 +0000
1# This file is part of utils.
2#
3# Developed for the LSST Data Management System.
4# This product includes software developed by the LSST Project
5# (https://www.lsst.org).
6# See the COPYRIGHT file at the top-level directory of this distribution
7# for details of code ownership.
8#
9# This program is free software: you can redistribute it and/or modify
10# it under the terms of the GNU General Public License as published by
11# the Free Software Foundation, either version 3 of the License, or
12# (at your option) any later version.
13#
14# This program is distributed in the hope that it will be useful,
15# but WITHOUT ANY WARRANTY; without even the implied warranty of
16# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17# GNU General Public License for more details.
18#
19# You should have received a copy of the GNU General Public License
20# along with this program. If not, see <https://www.gnu.org/licenses/>.
22import os
23import unittest
25import lsst.utils.tests
28class ExplicitBinaryTester(lsst.utils.tests.ExecutablesTestCase):
29 """Test that a named executable can be run."""
31 def testSimpleExe(self):
32 """Test explicit shell script"""
33 self.assertExecutable(
34 "testexe.sh", root_dir=os.path.dirname(__file__), args=["-h"], msg="testexe.sh failed"
35 )
37 # Try a non-existent test
38 with self.assertRaises(unittest.SkipTest):
39 self.assertExecutable("testexe-missing.sh")
41 # Force test to fail, explicit fail message
42 with self.assertRaises(AssertionError):
43 self.assertExecutable(
44 "testexe.sh", root_dir=os.path.dirname(__file__), args=["-f"], msg="testexe.sh failed"
45 )
47 # Force script to fail, default fail message
48 with self.assertRaises(AssertionError):
49 self.assertExecutable("testexe.sh", root_dir=os.path.dirname(__file__), args=["-f"])
52class UtilsBinaryTester(lsst.utils.tests.ExecutablesTestCase):
53 """Run test binaries in this package."""
56EXECUTABLES = None
57UtilsBinaryTester.create_executable_tests(__file__, EXECUTABLES)
59if __name__ == "__main__":
60 unittest.main()