lsst.utils  14.0-11-g9165846
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
lsst.utils.tests.ExecutablesTestCase Class Reference
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)
 
def create_executable_tests (cls, ref_file, executables=None)
 

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 188 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.

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`
    Directory containing exe. Ignored if None.

args : list or tuple
    Arguments to be provided to the executable.

msg : `str`
Message to use when the test fails. Can be None for default message.

Definition at line 211 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 294 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 198 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 205 of file tests.py.

Member Data Documentation

◆ TESTS_DISCOVERED [1/2]

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

Definition at line 195 of file tests.py.

◆ TESTS_DISCOVERED [2/2]

lsst.utils.tests.ExecutablesTestCase.TESTS_DISCOVERED

Definition at line 202 of file tests.py.


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