Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Hello Lustre

Widget Connector
width640
urlhttps://www.youtube.com/watch?v=OZZMxQ-OMz0
height360

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.