summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Jones <rjones@redhat.com>2010-09-06 10:13:31 +0100
committerRichard Jones <rjones@redhat.com>2010-09-06 10:13:31 +0100
commit06c906168c0a96662ad47473cfe5f2fb3c316757 (patch)
tree04162a21919851c774a1d1de4b1793335243507c
parentb76284876b9ab50b8aa5851fb960dbb66a58c2e2 (diff)
downloadlibguestfs-06c906168c0a96662ad47473cfe5f2fb3c316757.tar.gz
libguestfs-06c906168c0a96662ad47473cfe5f2fb3c316757.tar.xz
libguestfs-06c906168c0a96662ad47473cfe5f2fb3c316757.zip
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.
-rwxr-xr-xtest-tool/run-test-tool-locally56
1 files changed, 56 insertions, 0 deletions
diff --git a/test-tool/run-test-tool-locally b/test-tool/run-test-tool-locally
new file mode 100755
index 00000000..ae681c59
--- /dev/null
+++ b/test-tool/run-test-tool-locally
@@ -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);