mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-22 07:03:38 +00:00
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:
56
test-tool/run-test-tool-locally
Executable file
56
test-tool/run-test-tool-locally
Executable 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);
|
||||
Reference in New Issue
Block a user