Test that executables can be run and return good status.
The test methods are dynamically created. Callers
must subclass this class in their own test file and invoke
the create_executable_tests() class method to register the tests.
Definition at line 155 of file tests.py.
def lsst.utils.tests.ExecutablesTestCase.assertExecutable |
( |
|
self, |
|
|
|
executable, |
|
|
|
root_dir = None , |
|
|
|
args = None , |
|
|
|
msg = None |
|
) |
| |
Check an executable runs and returns good status.
Prints output to standard out. On bad exit status the test
fails. If the executable can not be located the test is skipped.
Parameters
----------
executable : `str`
Path to an executable. ``root_dir`` is not used if this is an
absolute path.
root_dir : `str`, optional
Directory containing executable. Ignored if `None`.
args : `list` or `tuple`, optional
Arguments to be provided to the executable.
msg : `str`, optional
Message to use when the test fails. Can be `None` for default
message.
Raises
------
AssertionError
The executable did not return 0 exit status.
Definition at line 178 of file tests.py.
def lsst.utils.tests.ExecutablesTestCase.create_executable_tests |
( |
|
cls, |
|
|
|
ref_file, |
|
|
|
executables = None |
|
) |
| |
Discover executables to test and create corresponding test methods.
Scans the directory containing the supplied reference file
(usually ``__file__`` supplied from the test class) to look for
executables. If executables are found a test method is created
for each one. That test method will run the executable and
check the returned value.
Executable scripts with a ``.py`` extension and shared libraries
are ignored by the scanner.
This class method must be called before test discovery.
Parameters
----------
ref_file : `str`
Path to a file within the directory to be searched.
If the files are in the same location as the test file, then
``__file__`` can be used.
executables : `list` or `tuple`, optional
Sequence of executables that can override the automated
detection. If an executable mentioned here is not found, a
skipped test will be created for it, rather than a failed
test.
Examples
--------
>>> cls.create_executable_tests(__file__)
Definition at line 261 of file tests.py.