lavadecode
Decode Lava language files
SYNOPSIS
lavadecode [OPTIONS] [FILE...]
PARAMETERS
-h, --help
Show the program's help message and exit.
-v, --version
Show the program's version number and exit.
-f {json,text,yaml,csv}, --output-format {json,text,yaml,csv}
Specify the output format. Common choices include json for structured data, text for human-readable output, yaml for structured data, or csv for tabular data.
-o FILE, --output-file FILE
Write the decoded output to the specified FILE instead of standard output.
-p, --pretty-print
If the output format is JSON or YAML, this option formats the output with indentation and line breaks for improved readability.
--show-device-messages
Include messages generated by the test device itself, in addition to the standard LTRP messages.
-q, --quiet
Suppress informational and non-critical messages, showing only warnings or errors.
--log-level {critical,error,warning,info,debug}
Set the logging level for the command's own internal messages. Options range from critical (least verbose) to debug (most verbose).
FILE...
One or more input files containing LTRP messages to decode. If no files are specified, lavadecode reads from standard input (stdin).
DESCRIPTION
The lavadecode command is a utility from the LAVA (Linaro Automated Validation Architecture) project. Its primary function is to parse and decode LAVA Test Reporting Protocol (LTRP) messages, which are typically streamed as JSON objects during a LAVA test execution. These messages can come from standard input or specified log files.
lavadecode transforms these raw LTRP streams into more human-readable formats (like plain text, CSV, YAML) or structured machine-parsable formats (like pretty-printed JSON), making it easier to analyze test results, debug test failures, or integrate LAVA output into other reporting or analysis tools. It's an essential tool for developers and testers working within the LAVA ecosystem to understand the detailed progress and outcomes of their automated tests.
CAVEATS
lavadecode is specific to the LAVA (Linaro Automated Validation Architecture) project and is designed to process LAVA Test Reporting Protocol (LTRP) messages. It will not work with general log files or arbitrary JSON data that does not conform to the LTRP specification. Its availability depends on whether lava-tool (or LAVA itself) is installed on your system.
INPUT SOURCE
lavadecode can process LTRP messages from either files specified as arguments or directly from standard input (stdin). This makes it flexible for piping output from other commands or reading from persistent log files.
OUTPUT DESTINATION
By default, the decoded output is sent to standard output (stdout). However, the --output-file (-o) option allows redirecting the output to a specified file, which is useful for saving results or further processing.
HISTORY
lavadecode is an integral part of the LAVA (Linaro Automated Validation Architecture) project, an open-source continuous integration system for validating hardware. Its development has evolved alongside the LTRP (Lava Test Reporting Protocol) specification, which defines the JSON-based messages exchanged during LAVA test runs. As LAVA has matured, lavadecode has been continuously updated to support new LTRP features and improve its decoding capabilities, ensuring compatibility with the latest LAVA server and test-runner versions. Its usage is central to analyzing LAVA's automated testing output.
SEE ALSO
lava-tool(1), lava-test-runner(1)