BaseCscTestCase¶
-
class
lsst.ts.hexrotcomm.
BaseCscTestCase
¶ Bases:
lsst.ts.salobj.base_csc_test_case.BaseCscTestCase
A variant of salobj.BaseCscTestCase that captures all but the last controller state in make_csc.
Methods Summary
assert_next_sample
(topic[, flush, timeout])Wait for the next data sample for the specified topic, check specified fields for equality, and return the data. assert_next_summary_state
(state[, flush, …])Wait for and check the next summaryState
event.basic_make_csc
(initial_state, config_dir, …)Make and return a CSC. check_bad_commands
([bad_commands, good_commands])Check that bad commands fail. check_bin_script
(name, index, exe_name[, …])Test running the CSC command line script. check_standard_state_transitions
(…[, …])Test standard CSC state transitions. make_csc
([initial_state, config_dir, …])Create a CSC and remote and wait for them to start. next_index
()Methods Documentation
-
assert_next_sample
(topic, flush=False, timeout=60, **kwargs)¶ Wait for the next data sample for the specified topic, check specified fields for equality, and return the data.
Parameters: - topic :
topics.ReadTopic
Topic to read, e.g.
remote.evt_logMessage
.- flush :
bool
, optional Flush the read queue before waiting?
- timeout :
double
, optional Time limit for getting the data sample (sec).
- kwargs :
dict
Dict of field_name: expected_value The specified fields will be checked for equality.
Returns: - data : topic data type
The data read.
- topic :
-
assert_next_summary_state
(state, flush=False, timeout=60, remote=None)¶ Wait for and check the next
summaryState
event.Parameters: - state :
lsst.ts.salobj.State
orint
Desired summary state.
- flush :
bool
, optional Flush the read queue before waiting?
- timeout :
float
, optional Time limit for getting the data sample (sec).
- remote :
Remote
, optional Remote to use;
self.remote
if None.
- state :
-
basic_make_csc
(initial_state, config_dir, simulation_mode, **kwargs)¶ Make and return a CSC.
Parameters: - initial_state :
lsst.ts.salobj.State
orint
The initial state of the CSC.
- config_dir :
str
Directory of configuration files, or None for the standard configuration directory (obtained from
ConfigureCsc._get_default_config_dir
).- simulation_mode :
int
Simulation mode.
- kwargs :
dict
Extra keyword arguments, if needed.
- initial_state :
-
check_bad_commands
(bad_commands=None, good_commands=None)¶ Check that bad commands fail.
Parameters: Notes
If a command appears in both lists, it is considered a good command, so it is skipped.
-
check_bin_script
(name, index, exe_name, cmdline_args=())¶ Test running the CSC command line script.
Parameters:
-
check_standard_state_transitions
(enabled_commands, skip_commands=None, settingsToApply='', timeout=60)¶ Test standard CSC state transitions.
Parameters: - enabled_commands :
List
[str
] List of CSC-specific commands that are valid in the enabled state. Need not include the standard commands, which are “disable” and “setLogLevel” (which is valid in any state).
- skip_commands :
List
[str
] orNone
, optional List of commands to skip.
- settingsToApply :
str
, optional Value for the
settingsToApply
argument for thestart
command.- timeout :
float
, optional Time limit for state transition commands (seconds).
Notes
timeout
is only used for state transition commands that are expected to succceed.STD_TIMEOUT
is used for things that should happen quickly:- Commands that should fail, due to the CSC being in the wrong state.
- The
summaryState
event after each state transition:
- enabled_commands :
-
make_csc
(initial_state=<State.OFFLINE: 4>, config_dir=None, simulation_mode=0, log_level=None, timeout=60, **kwargs)¶ Create a CSC and remote and wait for them to start.
The csc is accessed as
self.csc
and the remote asself.remote
.This override reads and checks all but the last
controllerState
event during startup, in addition to thesummaryState
event.Parameters: - name :
str
Name of SAL component.
- initial_state :
lsst.ts.salobj.State
orint
, optional The initial state of the CSC. Defaults to STANDBY.
- config_dir :
str
, optional Directory of configuration files, or
None
(the default) for the standard configuration directory (obtained fromConfigureCsc._get_default_config_dir
).- simulation_mode :
int
, optional Simulation mode. Defaults to 0 because not all CSCs support simulation. However, tests of CSCs that support simulation will almost certainly want to set this nonzero.
- log_level :
int
orNone
, optional Logging level, such as
logging.INFO
. IfNone
then do not set the log level, leaving the default behavior ofSalInfo
: increase the log level to INFO.- timeout :
float
Time limit for the CSC to start (seconds).
- **kwargs :
dict
Extra keyword arguments for
basic_make_csc
. For a configurable CSC this may includesettings_to_apply
, especially ifinitial_state
is DISABLED or ENABLED.
Notes
Adds a logging.StreamHandler if one is not already present.
- name :
-
next_index
()¶
-