https://github.com/kernelci/tuxlava
TuxLAVA is a command-line tool and Python library that simplifies creating LAVA job definitions for various device types. Developed by Linaro, it's part of TuxSuite and streamlines Linux kernel test automation.
https://github.com/kernelci/tuxlava
Last synced: 5 months ago
JSON representation
TuxLAVA is a command-line tool and Python library that simplifies creating LAVA job definitions for various device types. Developed by Linaro, it's part of TuxSuite and streamlines Linux kernel test automation.
- Host: GitHub
- URL: https://github.com/kernelci/tuxlava
- Owner: kernelci
- License: mit
- Created: 2025-12-19T12:06:41.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-12-23T11:53:42.000Z (6 months ago)
- Last Synced: 2025-12-24T06:09:43.059Z (6 months ago)
- Language: Python
- Size: 1.92 MB
- Stars: 0
- Watchers: 2
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: docs/contributing.md
- License: LICENSE
- Support: support/docker/Dockerfile.ci
Awesome Lists containing this project
README
[](https://pypi.org/project/tuxlava/)
[](https://github.com/psf/black)
[](https://github.com/kernelci/tuxlava/blob/main/LICENSE)
[Documentation](https://tuxlava.org/) - [Repository](https://github.com/kernelci/tuxlava) - [Issues](https://github.com/kernelci/tuxlava/issues)
TuxLAVA is a command-line tool and Python library that simplifies
creating LAVA job definitions for various device types. Developed by
Linaro, it's part of TuxSuite and streamlines Linux kernel test
automation.
* AVH
* FASTBOOT
* FVP
* NFS
* QEMU
* SSH
TuxLAVA is a part of [TuxSuite](https://tuxsuite.com), a suite of
tools and services to help with Linux kernel development.
## Table of Contents
- [Installing TuxLAVA](#installing-tuxlava)
- [Examples](#examples)
- [Using TuxLAVA as a command line](#using-tuxlava-as-a-command-line)
- [Using TuxLAVA as a library](#using-tuxlava-as-a-library)
- [Contributing](#contributing)
# Installing TuxLAVA
- [From PyPI](docs/install-pypi.md)
- [Debian packages](docs/install-deb.md)
- [RPM packages](docs/install-rpm.md)
- [Run uninstalled](docs/run-uninstalled.md)
# Examples
LAVA job to boot test a mipsel kernel at https://url/to/vmlinux:
```shell
tuxlava --device qemu-mips32el \
--kernel https://url/to/vmlinux
```
Generate a LAVA job with *ltp-smoke* test:
```shell
tuxlava --device qemu-mips32el \
--kernel https://url/to/vmlinux \
--test ltp-smoke
```
# Using TuxLAVA as a command line
Call tuxlava as follows:
```shell
tuxlava --device nfs-x86_64 \
--kernel https://url/to/Image \
--modules https://url/to/modules /usr/ \
--rootfs https://url/to/rootfs \
--tests boot
```
> The `--kernel`, `--modules`, and `--rootfs` arguments can be URLs
(e.g. `https://...`), file URLs (e.g. `file:///...`), or absolute
file paths (e.g. `/path/to/Image`).
TuxLAVA will output the LAVA job to the stdout with the provided
arguments for x86_64 device
The complete list of tuxlava options is available with the following
command:
```shell
tuxlava --help
```
# Using TuxLAVA as a library
TuxLAVA can be used as a python library as follows:
```shell
#!/usr/bin/env python
from tuxlava.jobs import Job
job = Job(
device="nfs-x86_64",
kernel="https://url/to/bzImage",
rootfs="https://url/to/rootfs.tar.xz",
tests=["ltp-smoke", "ltp-math"],
modules="https://url/to/modules.tar.xz",
parameters={"LAVA_JOB_PRIORITY": 50},
timeouts={"deploy": 20},
)
job.initialize()
print(job.render())
```
## Contributing
Contributions, bug reports and feature requests are welcome!
Please see the [issues](https://github.com/kernelci/tuxlava/issues)
or open a [pull request](https://github.com/kernelci/tuxlava/pulls).