* [PATCHv2 2/3] t/gitweb-lib.sh: Add support for GITWEB_TEST_INSTALLED
2010-09-22 14:21 [PATCH 0/3] Testing installed gitweb Jakub Narebski
@ 2010-09-22 14:21 ` Jakub Narebski
0 siblings, 0 replies; 5+ messages in thread
From: Jakub Narebski @ 2010-09-22 14:21 UTC (permalink / raw
To: git; +Cc: Jakub Narebski
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(-)
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
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCHv2 0/3] Testing installed gitweb
@ 2010-09-26 13:02 Jakub Narebski
2010-09-26 13:02 ` [PATCHv2 1/3] gitweb/Makefile: Include gitweb/config.mak Jakub Narebski
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Jakub Narebski @ 2010-09-26 13:02 UTC (permalink / raw
To: git; +Cc: Jakub Narebski
This series add a mechanism to easy test installed gitweb, via
$ make -C gitweb test-installed
This way we can check if the install procedure work correctly, when
gitweb gets split into smaller modules.
This series applies on top of 'jn/gitweb-test-lib' branch, merged as
4621733 into next, i.e. on top of commit 89d1b5b (t/gitweb-lib.sh: Use
tabs for indent consistently, 2010-09-12).
The major change from previous version is that 'test-installed' target
no longer depends on 'install', which means that it doesn't force
installing gitweb each time it is run.
Jakub Narebski (3):
gitweb/Makefile: Include gitweb/config.mak
t/gitweb-lib.sh: Add support for GITWEB_TEST_INSTALLED
gitweb/Makefile: Add 'test' and 'test-installed' targets
gitweb/Makefile | 12 +++++++++++-
t/Makefile | 4 ++++
t/gitweb-lib.sh | 21 +++++++++++++++++++--
3 files changed, 34 insertions(+), 3 deletions(-)
--
1.7.3
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCHv2 1/3] gitweb/Makefile: Include gitweb/config.mak
2010-09-26 13:02 [PATCHv2 0/3] Testing installed gitweb Jakub Narebski
@ 2010-09-26 13:02 ` Jakub Narebski
2010-09-26 13:02 ` [PATCHv2 2/3] t/gitweb-lib.sh: Add support for GITWEB_TEST_INSTALLED Jakub Narebski
2010-09-26 13:02 ` [PATCHv2 3/3] gitweb/Makefile: Add 'test' and 'test-installed' targets Jakub Narebski
2 siblings, 0 replies; 5+ messages in thread
From: Jakub Narebski @ 2010-09-26 13:02 UTC (permalink / raw
To: git; +Cc: Jakub Narebski
Allow for gitweb-specific Makefile config to reside in config.mak file
in the 'gitweb/' subdirectory. This means that gitweb-specific
build-time configuration variable can reside in gitweb-specific
gitweb/config.mak
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
---
No longer RFC, but it can still be safely dropped from this series.
gitweb/Makefile | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/gitweb/Makefile b/gitweb/Makefile
index 2fb7c2d..88bcf08 100644
--- a/gitweb/Makefile
+++ b/gitweb/Makefile
@@ -39,6 +39,7 @@ GITWEB_SITE_FOOTER =
# include user config
-include ../config.mak.autogen
-include ../config.mak
+-include config.mak
# determine version
../GIT-VERSION-FILE: .FORCE-GIT-VERSION-FILE
--
1.7.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCHv2 2/3] t/gitweb-lib.sh: Add support for GITWEB_TEST_INSTALLED
2010-09-26 13:02 [PATCHv2 0/3] Testing installed gitweb Jakub Narebski
2010-09-26 13:02 ` [PATCHv2 1/3] gitweb/Makefile: Include gitweb/config.mak Jakub Narebski
@ 2010-09-26 13:02 ` Jakub Narebski
2010-09-26 13:02 ` [PATCHv2 3/3] gitweb/Makefile: Add 'test' and 'test-installed' targets Jakub Narebski
2 siblings, 0 replies; 5+ messages in thread
From: Jakub Narebski @ 2010-09-26 13:02 UTC (permalink / raw
To: git; +Cc: Jakub Narebski
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>
---
No change from previous version.
t/gitweb-lib.sh | 21 +++++++++++++++++++--
1 files changed, 19 insertions(+), 2 deletions(-)
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.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCHv2 3/3] gitweb/Makefile: Add 'test' and 'test-installed' targets
2010-09-26 13:02 [PATCHv2 0/3] Testing installed gitweb Jakub Narebski
2010-09-26 13:02 ` [PATCHv2 1/3] gitweb/Makefile: Include gitweb/config.mak Jakub Narebski
2010-09-26 13:02 ` [PATCHv2 2/3] t/gitweb-lib.sh: Add support for GITWEB_TEST_INSTALLED Jakub Narebski
@ 2010-09-26 13:02 ` Jakub Narebski
2 siblings, 0 replies; 5+ messages in thread
From: Jakub Narebski @ 2010-09-26 13:02 UTC (permalink / raw
To: git; +Cc: Jakub Narebski
The 'test-installed' target in gitweb/Makefile tests installed gitweb,
using the same destination directory that 'install' target uses.
The 'test' target is just a convenience wrapper invoking 'gitweb-test'
target of t/Makefile.
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
---
Changes from previous version:
* 'test-installed' no longer has 'install' as requirement, which means that
testing installed target does not force an install. We cannot check easily
and reliably that install is fresh.
* Added 'test' convenience target.
* Moved "Testing rules" section before "Installation rules", the way it is done
in main Makefile.
gitweb/Makefile | 11 ++++++++++-
t/Makefile | 4 ++++
2 files changed, 14 insertions(+), 1 deletions(-)
diff --git a/gitweb/Makefile b/gitweb/Makefile
index 88bcf08..df908a1 100644
--- a/gitweb/Makefile
+++ b/gitweb/Makefile
@@ -144,6 +144,15 @@ gitweb.cgi: gitweb.perl GITWEB-BUILD-OPTIONS
chmod +x $@+ && \
mv $@+ $@
+### Testing rules
+
+test:
+ $(MAKE) -C ../t gitweb-test
+
+test-installed:
+ GITWEB_TEST_INSTALLED='$(DESTDIR_SQ)$(gitwebdir_SQ)' \
+ $(MAKE) -C ../t gitweb-test
+
### Installation rules
install: all
@@ -157,5 +166,5 @@ install: all
clean:
$(RM) gitweb.cgi static/gitweb.min.js static/gitweb.min.css GITWEB-BUILD-OPTIONS
-.PHONY: all clean install .FORCE-GIT-VERSION-FILE FORCE
+.PHONY: all clean install test test-installed .FORCE-GIT-VERSION-FILE FORCE
diff --git a/t/Makefile b/t/Makefile
index c7baefb..7aa409a 100644
--- a/t/Makefile
+++ b/t/Makefile
@@ -17,6 +17,7 @@ SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))
T = $(wildcard t[0-9][0-9][0-9][0-9]-*.sh)
TSVN = $(wildcard t91[0-9][0-9]-*.sh)
+TGITWEB = $(wildcard t95[0-9][0-9]-*.sh)
all: pre-clean
$(MAKE) aggregate-results-and-cleanup
@@ -46,6 +47,9 @@ full-svn-test:
$(MAKE) $(TSVN) GIT_SVN_NO_OPTIMIZE_COMMITS=1 LC_ALL=C
$(MAKE) $(TSVN) GIT_SVN_NO_OPTIMIZE_COMMITS=0 LC_ALL=en_US.UTF-8
+gitweb-test:
+ $(MAKE) $(TGITWEB)
+
valgrind:
GIT_TEST_OPTS=--valgrind $(MAKE)
--
1.7.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2010-09-26 13:11 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-26 13:02 [PATCHv2 0/3] Testing installed gitweb Jakub Narebski
2010-09-26 13:02 ` [PATCHv2 1/3] gitweb/Makefile: Include gitweb/config.mak Jakub Narebski
2010-09-26 13:02 ` [PATCHv2 2/3] t/gitweb-lib.sh: Add support for GITWEB_TEST_INSTALLED Jakub Narebski
2010-09-26 13:02 ` [PATCHv2 3/3] gitweb/Makefile: Add 'test' and 'test-installed' targets Jakub Narebski
-- strict thread matches above, loose matches on Subject: below --
2010-09-22 14:21 [PATCH 0/3] Testing installed gitweb Jakub Narebski
2010-09-22 14:21 ` [PATCHv2 2/3] t/gitweb-lib.sh: Add support for GITWEB_TEST_INSTALLED Jakub Narebski
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).