Hello Lustre
Widget Connector | ||||||
---|---|---|---|---|---|---|
|
Video Transcript
Hello, this is Amir Shehata with another quick tip for the LUTF.
Show, Run and Edit
Let's get dive right into it and look at a simple "Hello Lustre" script.
...
I use VIM as the default editor, but you can change that by doingusing the set_editor() function:
Code Block |
---|
lutf.set_editor(<name as string>) example: lutf.set_editor("emacs") |
...
Code Block |
---|
suites['samples'].scripts['sample_01.py'].run() |
There are a few things to note about the script:
The documentation block:
Code Block |
---|
"""
@PRIMARY: sample_01
@SECONDARY: sample_01
@DESCRIPTION: Simple Hello Lustre test
""" |
It's enclosed in """
.
- @PRIMARY: is the primary requirement this script fulfills
- @SECONDARY: is the secondary requirement, if any, this script fulfills
- @DESCRIPTION: Is a description of this test case
By specifying these the LUTF can generate automatic documentation for the test scripts. We no longer need to maintain a separate test plan. Our test scripts become our test plan.
One way of working would be to create a skeleton of the scripts which just include the above comment block. Then run the create_docs() command on the suite
Code Block |
---|
suites['samples'].create_docs("samples.csv") |
This will generate a csv file with all the documentation.
This can then be imported directly into the Confluence wiki.
Let's run through this process to show how easy it is.
...
The run()
Function Return Value
Each script run()
function must return a value in a specific format. The script writer doesn't need to know what the format is.
As part of the LUTF infrastructure the lutfrc()
function is provided to abstract away that detail.
It takes one mandatory parameter; an integer with 0 signifying success and any other value signifying failure.
It can then take an arbitrary number of key/value pair arguments to package. Let's edit the script to illustrate this.
Now run the script again.
The Script Results
All script results are recorded in a global YAML results dictionary. This can be dumped using the
Code Block |
---|
dumpGlobalTestResults() |
Here is what the result looks like. This function can take an optional file name and will write the results into that file.
That's it for this quick tip. In the next quick tip, I'll go over the process of creating a test plan using the LUTF.