[PATCHv2 2/3] t/gitweb-lib.sh: Add support for GITWEB_TEST_INSTALLED
You can set the GITWEB_TEST_INSTALLED environment variable to the gitwebdir (the directory where gitweb is installed / deployed to) of an existing gitweb instalation, or to the pathname of installed gitweb script, to test that installation.
This change is intended to make it possible to test that process of installing gitweb and the modules it depends on works correctly (after splitting gitweb).
If GITWEB_TEST_INSTALLED is used, print what script are we testing to make it easy to spot that we test installed gitweb.
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
---
This patch differs from previous version, send to git mailing list as
http://thread.gmane.org/gmane.comp.version-control.git/156023/focus=156025
in the following way:
* It is no longer marked as RFC, as it was decided that description of
GITWEB_TEST_INSTALLED in t/gitweb-lib.sh is enough, and there is no
need to mention this variable in some of t/README, gitweb/README, or
gitweb/INSTALL
* GITWEB_TEST_INSTALLED can be either directory where gitweb.cgi is
installed, or a path to gitweb.cgi
* t/test-lib.sh now prints where resides gitweb.cgi it is testing if
GITWEB_TEST_INSTALLED is set.
t/gitweb-lib.sh | 21 +++++++++++++++++++--
1 files changed, 19 insertions(+), 2 deletions(-)
Show changes to t/gitweb-lib.sh +19 −2
diff --git a/t/gitweb-lib.sh b/t/gitweb-lib.sh
index 8c490c8..8b5b987 100755
--- a/t/gitweb-lib.sh
+++ b/t/gitweb-lib.sh
@@ -32,17 +32,34 @@ EOF
cat >.git/description <<EOF
$0 test repository
EOF
+
+ # You can set the GITWEB_TEST_INSTALLED environment variable to
+ # the gitwebdir (the directory where gitweb is installed / deployed to)
+ # of an existing gitweb instalation to test that installation,
+ # or simply to pathname of installed gitweb script.
+ if test -n "$GITWEB_TEST_INSTALLED" ; then
+ if test -d $GITWEB_TEST_INSTALLED; then
+ SCRIPT_NAME="$GITWEB_TEST_INSTALLED/gitweb.cgi"
+ else
+ SCRIPT_NAME="$GITWEB_TEST_INSTALLED"
+ fi
+ test -f "$SCRIPT_NAME" ||
+ error "Cannot find gitweb at $GITWEB_TEST_INSTALLED."
+ say "# Testing $SCRIPT_NAME"
+ else # normal case, use source version of gitweb
+ SCRIPT_NAME="$GIT_BUILD_DIR/gitweb/gitweb.perl"
+ fi
+ export SCRIPT_NAME
}
gitweb_run () {
GATEWAY_INTERFACE='CGI/1.1'
HTTP_ACCEPT='*/*'
REQUEST_METHOD='GET'
- SCRIPT_NAME="$GIT_BUILD_DIR/gitweb/gitweb.perl"
QUERY_STRING=""$1""
PATH_INFO=""$2""
export GATEWAY_INTERFACE HTTP_ACCEPT REQUEST_METHOD \
- SCRIPT_NAME QUERY_STRING PATH_INFO
+ QUERY_STRING PATH_INFO
GITWEB_CONFIG=$(pwd)/gitweb_config.perl
export GITWEB_CONFIG
--
1.7.2.1