Skip to content

Test suite: Automate testing of specific commands

The test case from #3 (closed) for the 'algo test' FSM provides a high-level test of a standard workflow, but in order to make sure that each command is doing what we expect, in particular with a suitable range of parameter values, we should also have a set of test cases that each target a specific individual command.

Each of these single-command test case should essentially:

  • Run the command, after some prerequisite commands
  • Check the monitoring status
  • Check what components are enabled/disabled.

To understand how best to factorise the implementations, should first focus on a set of commands that provides spans the full phase space of complexity & functionality. For now, I'd suggest starting with the program and reset commands:

  • For the program command, the only pre-requisite is the power-on command. Confirm that all FW components are disabled after the command is run
  • For the reset command, there would be two pre-requisite commands: Power on and program. Run this for source="internal" and source="tcds2".

The core functionality of this test case will be the same for various commands, so I think we should be able to implement most of this with a common function, that just gets called with different argument values in each test case.

In contrast with #3 (closed), I think it will make more sense to get specify the parameter values directly in the test case rather than reading these from the off-board config file - since for most of these test cases, we'll want to try a few different values.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information