The lnt
Tool¶
The lnt
command line utility provides the following commands for client-side
use and server-side use. The following is a list of commands and the most
importat options, use lnt <toolname> --help
for more information on any
particular tool.
Client-Side Tools¶
lnt checkformat [<file>]
Checks the syntax of an LNT test report file. In addition to verifying that LNT can read the raw format (e.g., JSON or property list), this also creates a temporary in-memory database instance and ensures that the test report file can be imported correctly.
If run without arguments, this expects to read the input file from
stdin
.lnt convert <input path> [<output path>]
Convert between LNT test report formats. By default, this will convert to the property list format. You can use
-
for either the input (to read fromstdin) or the output (to write to ``stdout
).lnt importreport <input path> [<output path>]
Convert text based key value pairs into a LNT json report file.
lnt submit <server url> <file>+
Submits one or more files to the given server. The
<server url>
should be the url to the actualsubmitRun
page on the server; the database being submitted to is effectively a part of this URL.lnt showtests
List available built-in tests. See the Test Producers documentation for more details on this tool.
lnt runtest [<run options>] <test name> ... test arguments ...
Run a built-in test. See the Test Producers documentation for more details on this tool.
lnt check-no-errors <file>+
Check that the report file contains “no_errors”: true in their run section otherwise end with returncode 1. This is useful for continuous integration scripts which want to report an error if any of the benchmarks didn’t compile or run correctly.
Server Administration¶
The lnt admin
tool allows connecting to a server through LNTs REST API and
perform data queries and modifications. Data modification is only possible with
an authentication mechanism specified in the lntadmin.cfg file. See
Write Operations for details.
lnt admin create-config
Create a lntadmin.cfg configuration file in the current directory. The file describes the URL, authentication settings and default database and test-suite settings for an LNT server. The other admin commands read this file if it exists.
lnt admin list-machines
List machines and their id numbers
lnt admin machine-info <machine>
Display information about the specified machine.
lnt admin get-machine <machine>
Download machine information and save data in a json file.
lnt admin rm-machine <machine>
Removes the specified machine and related runs and samples.
lnt admin rename-machine <machine> <new-name>
Renames the specified machine.
lnt admin merge-machine-into <machine> <merge-into-machine>
Move all runs from one machine to another machine and delete the machine.
lnt admin list-runs <machine>
List all runs for the specified machine.
lnt admin get-run <run>+
Download the specified runs.
lnt admin post-run <filename>+
Post the specified report files as a new runs to the server.
lnt admin rm-run <run>+
Remove the specified runs and related samples.
Server-Side Tools¶
The following tools are used to interact with an LNT server:
lnt create <path>
Creates a new LNT server instance. This command has a number of parameters to tweak the generated server, but they can all be modified after the fact in the LNT configuration file.
The default server will have a sqlite3 database named default. You can specify to use PostgreSQL using
--db-dir postgresql://user@hostname
.lnt import <instance path> <file>+
Import an LNT data file into a database. You can use
--database
to select the database to write to. Note that by default this will also generate report emails if enabled in the configuration, you can use--no-email
to disable this.lnt runserver <instance path>
Start the LNT server using a development WSGI server. Additional options can be used to control the server host and port, as well as useful development features such as automatic reloading.
lnt updatedb --database <NAME> --testsuite <NAME> <instance path>
Modify the given database and testsuite.
Currently the only supported commands are
--delete-machine
and--delete-run
.
All commands which take an instance path support passing in either the path to
the lnt.cfg
file, the path to the instance directory, or the path to a
(compressed) tarball. The tarball will be automatically unpacked into a
temporary directory and removed on exit. This is useful for testing and for
passing database instances back and forth, for example when others only need to
be able to view the results.