LIBVIRT-TCK(1)
π LIBVIRT-TCK π
okay bestie, gather round β this is the manual page for libvirt-tck, section 1, from the User Contributed Perl Documentation. Yes, Perl. Yes, iconic. Sit with it. π«Ά
πΈ NAME πΈ
libvirt-tck β the libvirt Technology Compatability Kit β¨ (yes, that's really how it's spelled, we don't make the rules)
π SYNOPSIS π
# libvirt-tck [OPTIONS] [TESTS..]
Run it with the default config, and just let it probe for a URI to use:
# libvirt-tck
Run it with a custom config instead:
# libvirt-tck --config /etc/libvirt-tck/other.yml
Run it with verbose progress info (chaotic but fun):
# libvirt-tck -v
Get a formal XML document of your results:
# libvirt-tck --format xml
Or a JUnit XML document of your results:
# libvirt-tck --format junit
π¦ DESCRIPTION π¦
So the libvirt-tck command β the libvirt Technology Compatability Kit, full name, no nicknames β is the main way you run the functional, integration test suite for libvirt drivers. It's the whole point of the thing. Main character energy, fr fr. π
β οΈ WARNING β οΈ
Not me being the responsible one for once, but listen up: the test suite is meant to be moderately safe to run on arbitrary hosts, and it takes steps to avoid intentionally breaking things. Key word: intentionally.
Every single object it creates β guests, networks, storage pools, etc β gets a name prefix of tck to minimize the risk of clashes. And the test suite will only ever (intentionally) delete objects that have that tck name prefix. That's the deal. π
Sometimes a test suite needs access to a precious host resource (think physical NIC, PCI device, USB device, block device). When that happens, execution gets skipped until the admin has white listed one or more suitable resources in the /etc/libvirt-tck/default.yml configuration file. No whitelist, no test. Sorry babe. π
π And despite all these precautions: running automated tests always carries some degree of risk to the host system. So it is advisable to avoid executing this test suite on hosts with precious state. Like, do NOT run this on the box holding your thesis. That would be giving "I have no self-preservation instinct."
β¨ OPTIONS β¨
Okay so if you invoke it with no arguments at all, the test suite runs using the default configuration file at /etc/libvirt-tck/default.yml, and it lets libvirt probe for the hypervisor driver to run. But β and this is important, bestie β if you want a reliably repeatable test result set, it is recommended to always give an explicit libvirt connection URI so you choose the driver yourself. Future you will say thank you.
Any command line arguments that don't get parsed as options are treated as paths to test scripts to invoke. And if you give no paths at all? Every test under /usr/share/libvirt-tck/tests gets executed. All of them. Every last one. π«
Here's everything you can pass when you run the libvirt-tck command:
-v,--verboseβ shows you the fine details of individual test progress. Without it, you only get the name of each test printed, plus the details of any failures. So it's the "tell me everything" mode. π£οΈ-q,--quietβ displays absolutely nothing about test progress. Not even the name of each test case. Silence. Iconic in its own way.-c,--configFILE β pick the name of the configuration file to use, instead of the default/etc/libvirt-tck/default.yml.--formattext|html|xml|junit β choose the output format for the test results. Default istext, which gives you human readable results right there on the console. Thehtmloption dumps an HTML file of results to STDOUT, and thexmloption generates a formal XML document of results. (And yeah,junitis a choice you can make, it's right there in the list π)--forceβ forcibly removes all previously created objects, including guests, networks, storage pools, etc, as long as they have thattckname prefix. User created objects whose name does not start withtckwill be left completely untouched. So it's aggressive, but it knows its lane. π-a,--archiveFILE β generates an archive containing all the raw test results. The filename you give should end in either.bz,.tar.gzor.tgz. Pick the right suffix or it's gonna be a bad time.--timerβ prints the elapsed time after each test. Clock it. β±οΈ
π AUTHORS π
Written by Daniel P. Berrange <berrange@redhat.com> β shoutout to the legend. π«Ά
π BUGS π
Probably. π (their words, not mine β but honestly? Relatable.)
Report any bugs you find to your OS distribution's bug tracker, or to the libvirt mailing list <http://www.redhat.com/mailman/listinfo/libvir-list>.
π LICENSE π
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. Like, none. Zero. Nada. Don't come for them. π«£
π SEE ALSO π
prove. π
And listen β 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 you want to run. That's the pro move. iykyk. π
β¨
and that's the whole page, bestie!! π This little love letter to you came from perl v5.42.0, dated 2025-07-25, and yes it lives at LIBVIRT-TCK(1). Now go run some tests (on a host that isn't precious, please π). bye!! πΈπ¦π
π¦ where this page comes from
- fedora 43: perl-Sys-Virt-TCK 2.0.0-4.fc43 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms