lsst.utils  14.0-9-g11010eb
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
lsst.utils.tests.ExecutablesTestCase Class Reference

Test that executables can be run and return good status. More...

Inheritance diagram for lsst.utils.tests.ExecutablesTestCase:

Public Member Functions

def setUpClass (cls)
 
def testSanity (self)
 
def assertExecutable (self, executable, root_dir=None, args=None, msg=None)
 Check an executable runs and returns good status. More...
 
def create_executable_tests (cls, ref_file, executables=None)
 Discover executables to test and create corresponding test methods. More...
 

Public Attributes

 TESTS_DISCOVERED
 

Static Public Attributes

int TESTS_DISCOVERED = -1
 

Detailed Description

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 185 of file tests.py.

Member Function Documentation

◆ assertExecutable()

def lsst.utils.tests.ExecutablesTestCase.assertExecutable (   self,
  executable,
  root_dir = None,
  args = None,
  msg = None 
)

Check an executable runs and returns good status.

Parameters
executablePath to an executable. root_dir is not used if this is an absolute path.
root_dirDirectory containing exe. Ignored if None.
argsList or tuple of arguments to be provided to the executable.
msgMessage to use when the test fails. Can be None for default message.

Prints output to standard out. On bad exit status the test fails. If the executable can not be located the test is skipped.

Definition at line 208 of file tests.py.

◆ create_executable_tests()

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.

Example:

cls.create_executable_tests(file)

The list of executables can be overridden by passing in a sequence of explicit executables that should be tested. If an item in the sequence can not be found the test will be configured to skip rather than fail.

Definition at line 282 of file tests.py.

◆ setUpClass()

def lsst.utils.tests.ExecutablesTestCase.setUpClass (   cls)
Abort testing if automated test creation was enabled and
yet not tests were found.

Definition at line 195 of file tests.py.

◆ testSanity()

def lsst.utils.tests.ExecutablesTestCase.testSanity (   self)
This test exists to ensure that there is at least one test to be
executed. This allows the test runner to trigger the class set up
machinery to test whether there are some executables to test.

Definition at line 202 of file tests.py.

Member Data Documentation

◆ TESTS_DISCOVERED [1/2]

int lsst.utils.tests.ExecutablesTestCase.TESTS_DISCOVERED = -1
static

Definition at line 192 of file tests.py.

◆ TESTS_DISCOVERED [2/2]

lsst.utils.tests.ExecutablesTestCase.TESTS_DISCOVERED

Definition at line 199 of file tests.py.


The documentation for this class was generated from the following file: