t/gitweb-lib.sh: Add support for GITWEB_TEST_INSTALLED
authorJakub Narebski <jnareb@gmail.com>
Sun, 26 Sep 2010 13:02:25 +0000 (15:02 +0200)
committerJunio C Hamano <gitster@pobox.com>
Thu, 30 Sep 2010 18:48:26 +0000 (11:48 -0700)
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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/gitweb-lib.sh

index 8c490c87071cc71228d1811d6e08cf542bf11d2e..8b5b987f45853da5d24148acc398b838ada7e616 100644 (file)
@@ -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