Available from driver functions or test cases as utilities.retry, this function allows the test to retry a function when certain conditions are met.
The retry function takes several arguments:
- f - A callable object such as a function
- retValue - Return value(s) of f to retry on. This can be a list or an object.
- args - (Optional) A tuple containing the arguments of f.
- kwargs - (Optional) A dictionary containing the keyword arguments of f.
- sleep - (Optional) Time in seconds to sleep between retries. If random is True, this is the max time to wait. Defaults to 1 second.
- attempts - (Optional) Max number of attempts before returning. If set to 1, f will only be called once. Defaults to 2 trys.
- random - (Optional) Boolean indicating if the wait time is random between 0 and sleep or exactly sleep seconds. Defaults to False.
Will skip the rest of the code in a test case. The case results will be determined as normal based on completed assertions unless the result argument is given.
- result - Case insensitive string. Can be 'PASS' or 'FAIL' and will set the case result accordingly.
- msg - Message to be printed when the case is skipped in the reports.
Stops the test and interfaces with Python Debugger (pdb).
Type 'h' for help, 'n' to step, 'c' to continue, and 'q' to end test.
Command Line Arguments
When running TestON from the command line, the following arguments are supported: logdir, mail, example, tester, testcases, and onoscell.
Besides this,TestON CLI now also support "–params" option, followed by "KEY_1/KEY_2/.../KEY_n=VALUE". This will try to modify the corresponding value (<KEY_1><KEY_2>...<KEY_n> VALUE) read by TestON from the test's .params file. It helps when we want to modify .params file for minor configuration changes from time to time.
It is also supported to specify different .topo and .params files from command line by using "--topo-file" and "--params-file" options.
CHO (Continuous Hours of Operation) test runs on an experimental framework called CHOTestMonkey inside TestON. Instead of running a predefined sequence of test cases, CHOTestMonkey breaks test cases into atomic test logics called events and provides a highly customizable way to organize and execute these events. With CHOTestMonkey, it becomes much easier and more flexible to maintain various pieces of test logic and assemble them in different ways for different test purposes. Please refer to CHO Test Tutorial page for details.