libvirt-tck - Man Page

libvirt Technology Compatability Kit


 # libvirt-tck [OPTIONS] [TESTS..]

Run with default config, probing for URI to use

 # libvirt-tck

Run with a custom config

 # libvirt-tck --config /etc/libvirt-tck/other.yml

Run with verbose progress information

 # libvirt-tck -v

Generate a formal XML document of results

 # libvirt-tck --format xml

Generate a JUnit XML document of results

 # libvirt-tck --format junit


The libvirt-tck (libvirt Technology Compatability Kit) command provides the primary mechanism to run the functional, integration test suite for libvirt drivers.


The test suite is intended to be moderately safe to run on arbitrary hosts and takes steps to avoid intentionally breaking things.

All objects (guests, networks, storage pools, etc) that are created will  have a name prefix of "tck" to minimize risk of clashes. The test suite will only ever (intentionally) delete objects with a "tck" name prefix.

Where a test suite needs access to a precious host resource (physical NIC, PCI device, USB device, block device), execution will be skipped until the admin has white listed one or more suitable resources in the /etc/libvirt-tck/default.yml configuration file.

Despite these precautions, running automated tests always carries some degree of risk to the host system. It is thus advisable to avoid executing this test suite on hosts with precious state.


If invoked without any arguments the test suite will run using the default configuration file from /etc/libvirt-tck/default.yml and will allow libvirt to probe for the hypervisor driver to run. If a reliably repeatable test result set is desired, it is recommended to always give an explicit libvirt connection URI to choose the driver.

Any command line arguments that are not parsed as options will be considered paths to test scripts to invoke. If no paths are given, all tests under /usr/share/libvirt-tck/tests will be executed.

The following options are available when running the libvirt-tck command

-v,  --verbose

Display fine details of individual test progresss. Without this only the name of each test will be printed, along with details of failures.

-q,  --quiet

Do not display any information about test progress, not even the name of each test case

-c,  --config FILE

Specify the name of the configuration file to use, rather than the default /etc/libvirt-tck/default.yml

--format text|html|xml|junit

Choose the output format for the test results. The default format is text, producing human readable results on the console. The html option dumps an HTML file of results to STDOUT, while the xml option generates a formal XML document of results.


Forcably remove all previously created objects, including guests, networks, storage pools, etc which have a "tck" name prefix.

User created objects whose name does not start with "tck" will be left untouched.

-a,  --archive FILE

Generate an archive containing all the raw test results. The filename given should end in either .bz, .tar.gz or .tgz


Print elapsed time after each test.


Written by Daniel P. Berrange <>


Probably. Report any bugs found to your OS distribution's bug tracker or the libvirt mailing list <>


Copyright (C) 2009 Daniel P. Berrange Copyright (C) 2009 Red Hat, Inc.

libvirt-tck is distributed under the terms of the GNU GPL v2+. This is free software; see the source for copying conditions.  There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR  A  PARTICULAR PURPOSE.

See Also

prove. If you need more fine grained control over running the tests, then set the LIBVIRT_TCK_CONFIG environment variable to point to your configuration file, and then run the prove command passing in the path to the test scripts to run.


2024-02-09 perl v5.38.2 User Contributed Perl Documentation