Commit 131a793f authored by Daniel P. Berrangé's avatar Daniel P. Berrangé

Allow tests to be listed as positional arguments

The -t argument accepts the path to a test file or a test directory. It
would be useful if shell wildcards could be used to specify test files,
but this doesn't work when using optional arguments.

By changing the test path(s) to be positional arguments we can easily
allow for shell wildcards.
Reviewed-by: 's avatarLaine Stump <>
Signed-off-by: 's avatarDaniel P. Berrangé <>
parent d36450eb
......@@ -8,7 +8,7 @@ libvirt-tck - libvirt Technology Compatability Kit
# libvirt-tck [OPTIONS]
# libvirt-tck [OPTIONS] [TESTS..]
Run with default config, probing for URI to use
......@@ -62,8 +62,15 @@ the default configuration file from C</etc/libvirt-tck/default.cfg>
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. The following options are available when
running the C<libvirt-tck> command
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 C</usr/share/libvirt-tck/tests> will be
The following options are available when running the C<libvirt-tck>
=over 4
......@@ -98,11 +105,6 @@ networks, storage pools, etc which have a "tck" name prefix.
User created objects whose name does not start with "tck" will be
left untouched.
=item -t, --testdir PATH
Specify an alternate directory path in which to find the test
scripts to be run. If omitted, defaults to C</usr/share/libvirt-tck/tests>
=item -a, --archive FILE
Generate an archive containing all the raw test results. The
......@@ -144,7 +146,6 @@ my $timer = 0;
my $archive;
my $config = catfile($confdir, "default.cfg");
my $format = "text";
my $testdir = catdir($datadir, "tests");
if (!GetOptions("verbose" => \$verbose,
"debug" => \$debug,
......@@ -154,7 +155,6 @@ if (!GetOptions("verbose" => \$verbose,
"config=s" => \$config,
"force" => \$force,
"format=s" => \$format,
"testdir=s" => \$testdir,
"timer" => \$timer) || $help) {
pod2usage(-verbose => $help,
-output => $help ? \*STDOUT : \*STDERR,
......@@ -181,12 +181,19 @@ if ($verbose && $quiet) {
-output => \*STDERR);
unless (-e $testdir) {
print STDERR "$0: test directory '$testdir' does not exist\n";
exit 2;
my @testdirs = @ARGV;
unless (@testdirs) {
push @testdirs, catdir($datadir, "tests");
foreach (@testdirs) {
unless (-e $_) {
print STDERR "$0: test path '$_' does not exist\n";
exit 2;
my @newargv = ("-r", "--norc", "--merge", $testdir);
my @newargv = ("-r", "--norc", "--merge", @testdirs);
if ($archive) {
push @newargv, "-a", $archive;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment