Terminology
Script
When we use the word script, we are referring to test code file itself. SANBlaze scripts are written in BASH and Python and can be run via the CLI or the GUI.
A test is the execution of a script.
IO Test
An IO Test is low level program that runs IO traffic on a device. IO Tests can be started manually from the GUI or the CLI, or using a script.
When started using a script, the timing and control of the IO test can be coordinated with other actions, for example controller resets.
REST tree
The REST tree is the file structure on your SANBlaze equipment that contains the files related to the tests run on the system.
Devices Under Test (DUTs)
The DUTS are instances of the XML_API class that provide an interface for issuing commands to the device.
When you perform an action such as starting an IO test or issuing a controller reset, use duts
to specify which controller to take action on.
At the beginning of a test, the dut
or duts
are passed into the program by the statement:
def test(dut):
In this case, the dut
is a single controller.
It is assigned a target during test initialization.
Example : Run IO for 60s in a single port test.
def main(test_config):
@setup(test_config)
def test(dut): # <- Single controller
set_var('passtimer', 60)
while keep_running():
start_IO(dut)
Example : Run IO for 60s in a dual port test.
def main(test_config):
@setup(test_config)
def test(duts): # <- Two Controllers
controller_1 = duts[0]
controller_2 = duts[1]
set_var('passtimer', 60)
while keep_running():
start_IO(controller_1)
Note
The names controller_1
and controller_2
can be chosen based on your preference.