test-tool: Add a 'run-test-tool-locally' script.

This can be used to run the test tool without installing it.
It sets the environment variables and command line arguments
up correctly to run the tool from the build directory.
(cherry picked from commit 06c906168c)
This commit is contained in:
Richard Jones
2010-09-06 10:13:31 +01:00
parent a9cff0636f
commit 0fb9876928

56
test-tool/run-test-tool-locally Executable file
View File

@@ -0,0 +1,56 @@
#!/usr/bin/perl
# Copyright (C) 2010 Red Hat Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# This script sets up the environment so you can run
# libguestfs-test-tool in place without needing to do 'make install'
# first. You can also run the test tool by creating a symlink to this
# script and putting it in your path.
#
# Normal use is like this:
# ./run-test-tool-locally
use strict;
use warnings;
use File::Basename qw(dirname);
use File::Spec;
use Cwd qw(abs_path);
my $path = $0;
my $tool = shift @ARGV;
# Follow symlinks until we get to the real file
while(-l $path) {
my $link = readlink($path) or die "readlink: $path: $!";
if(File::Spec->file_name_is_absolute($link)) {
$path = $link;
} else {
$path = File::Spec->catfile(dirname($path), $link);
}
}
# Get the absolute path of the parent directory
$path = abs_path(dirname($path).'/..');
$ENV{LD_LIBRARY_PATH} = $path.'/src/.libs';
$ENV{LIBGUESTFS_PATH} = $path.'/appliance';
exec("$path/test-tool/libguestfs-test-tool",
"$path/test-tool/libguestfs-test-tool",
"--helper",
"$path/test-tool/libguestfs-test-tool-helper",
@ARGV);