Tims LAVA Notes
(need to add more of my notes from Linaro connect 2016 (Las Vegas) here)
The LAVA developers have a model that allows for multiple layers of values to be held, and inheritance and overrides to be used for the variables used for actual testing.
They appear to put different types of variables into different format files, throughout the system, and use a database to query and manage the variables.
As a test framework, it "knows" how to perform actions on boards, but it doesn't actually have the tests in its own repository. The test to run is left as an exercise for the user.
Lava provides a framework for writing tests, that push data back to a results database. Tests use a set of utility functions, on the DUT, to set the result of a test, attach a file to a test, start processes to generate additional test artifacts (monitors and other logs).
The utility functions are:
- used to report a testcase result or measurement
- used to run a program whose exit code indicates pass/fail
"Advanced parsing" is also available to convert log output from another program into results and measurements that can be used by LAVA. However, with V2 of LAVA, it is recommended that log parsing be done on the client with a custom script that calls lava-test-case to report results.