Fourth batch
[gitweb.git] / t / gitweb-lib.sh
index 8b5b987f45853da5d24148acc398b838ada7e616..006d2a8152dc499f3588b130470285703b60dc92 100644 (file)
@@ -1,4 +1,5 @@
-#!/bin/sh
+# Initialization and helpers for Gitweb tests, which source this
+# shell library instead of test-lib.sh.
 #
 # Copyright (c) 2007 Jakub Narebski
 #
@@ -16,6 +17,7 @@ our \$projectroot = "$safe_pwd";
 our \$project_maxdepth = 8;
 our \$home_link_str = 'projects';
 our \$site_name = '[localhost]';
+our \$site_html_head_string = '';
 our \$site_header = '';
 our \$site_footer = '';
 our \$home_text = 'indextext.html';
@@ -35,7 +37,7 @@ 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,
+       # of an existing gitweb installation 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
@@ -82,7 +84,12 @@ gitweb_run () {
                }
                close O;
        ' gitweb.output &&
-       if grep '^[[]' gitweb.log >/dev/null 2>&1; then false; else true; fi
+       if grep '^[[]' gitweb.log >/dev/null 2>&1; then
+               test_debug 'cat gitweb.log >&2' &&
+               false
+       else
+               true
+       fi
 
        # gitweb.log is left for debugging
        # gitweb.output is used to parse HTTP output
@@ -97,9 +104,19 @@ if ! test_have_prereq PERL; then
        test_done
 fi
 
-perl -MEncode -e 'decode_utf8("", Encode::FB_CROAK)' >/dev/null 2>&1 || {
+perl -MEncode -e '$e="";decode_utf8($e, Encode::FB_CROAK)' >/dev/null 2>&1 || {
        skip_all='skipping gitweb tests, perl version is too old'
        test_done
 }
 
+perl -MCGI -MCGI::Util -MCGI::Carp -e 0 >/dev/null 2>&1 || {
+       skip_all='skipping gitweb tests, CGI & CGI::Util & CGI::Carp modules not available'
+       test_done
+}
+
+perl -mTime::HiRes -e 0 >/dev/null 2>&1 || {
+       skip_all='skipping gitweb tests, Time::HiRes module not available'
+       test_done
+}
+
 gitweb_init