LAVA Local Test
lava-local-test is developed for executing LAVA test definitions on local test target. It feeds lava-test-runner with everything it needs and executes it without LAVA instance. lava-test-runner is part of lava-test-shell which is provided by lava-dispatch for test automation.
Requirements
- Python 2.7
- Linux(Debian or fedora based)
Basic Usage
- It uses Linaro qa/test-definitions as the default test repo, which can be modified with "-r". It supports remote git repo and local repo as well. Execute "./lava-local-test -h" for detailed help info. Either option "-d test_def" or "-a agenda_file" is required.
- lava-local-test.py [-h] [-o LAVA_PATH] [-a AGENDA] [-r REPO] [-d TEST_DEF] [-t TEST_TIMEOUT] [-s]
Examples
- Run a simple smoke test:
- ./lava-local-test.py -d ubuntu/smoke-tests-basic.yaml
- Run multiple tests with agenda file. The current agenda schema supports to customize test params, skip install steps and set timeout for each test, refer to agenda-example.yaml:
- ./lava-local-test.py -a agenda-example.yaml
- Modify test output directory, the default is ./output:
- ./lava-local-test.py -d ubuntu/smoke-tests-basic.yaml -o /tmp
- Specify a different remote git test definition repo:
- ./lava-local-test.py -d ubuntu/smoke-tests-basic.yaml -r https://git.linaro.org/people/chase.qi/test-definitions.git
- Use a local test definition repo:
- ./lava-local-test.py -d ubuntu/smoke-tests-basic.yaml -r ./test-definitions
- Skip install steps defined in test definition:
- ./lava-local-test.py -d ubuntu/pi-stress-test.yaml -s
- Set test timeout to 30 minutes:
- ./lava-local-test.py -d ubuntu/pi-stress-test.yaml -t 1800
Test result files will be saved to ./output/results/test-name_uuid/ in json and csv format.
For multiple test runs with agenda file, ./output/results.csv also will be created to collect test results from all tests.
License
LAVA Local Test is distributed under GPL Version 2.
Feedback and Support
Contact chase.qi@linaro.org