[RFC/PATCHv2 3/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 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).
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
---
Jakub Narebski wrote:
> On Sun, 12 Sep 2010, Junio C Hamano wrote:
> > Jakub Narebski <jnareb@gmail.com> writes:
Show 20 quoted lines
> > > + # 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.
> > > + if test -n "$GITWEB_TEST_INSTALLED" ; then
> > > + SCRIPT_NAME="$GITWEB_TEST_INSTALLED/gitweb.cgi"
> > > + test -f "$SCRIPT_NAME" ||
> > > + error "Cannot find gitweb.cgi at $GITWEB_TEST_INSTALLED."
> >
> > I don't know if GIT_WEB_TEST_INSTALLED=/path/to/some/directory (naming the
> > directory that houses the script which must be named gitweb.cgi) is easier
> > to use than GIT_WEB_TEST_INSTALLED=/path/to/some/gitweb.perl (naming the
> > script that is allowed to be renamed).
>
> First, I was following what GIT_TEST_INSTALLED does (it points to bindir,
> not to git binary). Second, I had half of idea to also change paths to
> static files... but they are not used anyway, at least not currently
> (no check for links).
>
> Anyway we can support both situations, slightly similarly to how
> GIT_TRACE can have different kinds of values.
And this implements it.
It is an RFC because it is not well tested... and I have forgot to update comment about GITWEB_TEST_INSTALLED and the commit message.
t/gitweb-lib.sh | 19 +++++++++++++++++--
1 files changed, 17 insertions(+), 2 deletions(-)
Show changes to t/gitweb-lib.sh +17 −2
diff --git a/t/gitweb-lib.sh b/t/gitweb-lib.sh
index 8c490c8..b76ec4d 100755
--- a/t/gitweb-lib.sh
+++ b/t/gitweb-lib.sh
@@ -32,17 +32,32 @@ 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.
+ 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."
+ 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