ExecutablesTestCase¶
- class lsst.utils.tests.ExecutablesTestCase(methodName='runTest')¶
- Bases: - TestCase- 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. - Attributes Summary - Methods Summary - assertExecutable(executable[, root_dir, ...])- Check an executable runs and returns good status. - create_executable_tests(ref_file[, executables])- Discover executables to test and create corresponding test methods. - Abort testing if automated test creation was enabled and no tests were found. - Ensure that there is at least one test to be executed. - Attributes Documentation - TESTS_DISCOVERED = -1¶
 - Methods Documentation - assertExecutable(executable: str, root_dir: str | None = None, args: Sequence[str] | None = None, msg: str | None = None) 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:
- executablestr
- Path to an executable. - root_diris not used if this is an absolute path.
- root_dirstr, optional
- Directory containing executable. Ignored if - None.
- argslistortuple, optional
- Arguments to be provided to the executable. 
- msgstr, optional
- Message to use when the test fails. Can be - Nonefor default message.
 
- executable
- Raises:
- AssertionError
- The executable did not return 0 exit status. 
 
 
 - classmethod create_executable_tests(ref_file: str, executables: Sequence[str] | None = None) 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 - .pyextension and shared libraries are ignored by the scanner.- This class method must be called before test discovery. - Parameters:
- ref_filestr
- 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.
- executableslistortuple, 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. 
 
- ref_file
 - Examples - >>> cls.create_executable_tests(__file__)