Allow HTTP tests to run on Darwin

This patch allows the HTTP tests to run on OS X 10.5. It is not
sufficient to be able to pass in LIB_HTTPD_PATH and
LIB_HTTPD_MODULE_PATH alone, as the apache.conf also needs a couple
tweaks.

These changes are put into an <IfDefine> to keep them Darwin specific,
but this means lib-httpd.sh needs to be modified to pass -DDarwin to
apache when running on Darwin. As long as we're making this change to
lib-httpd.sh, we may as well set LIB_HTTPD_PATH and
LIB_HTTPD_MODULE_PATH to appropriate default values for the platform.

Note that we now pass HTTPD_PARA to apache at shutdown as well.
Otherwise apache will emit a harmless, but noisy warning that LogFormat
is an unknown directive.

Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jay Soffian 2009-02-25 03:28:15 -05:00 committed by Junio C Hamano
parent 3dbe1165e9
commit 69707d616f
2 changed files with 23 additions and 5 deletions

View file

@ -11,7 +11,21 @@ then
exit
fi
LIB_HTTPD_PATH=${LIB_HTTPD_PATH-'/usr/sbin/apache2'}
HTTPD_PARA=""
case $(uname) in
Darwin)
DEFAULT_HTTPD_PATH='/usr/sbin/httpd'
DEFAULT_HTTPD_MODULE_PATH='/usr/libexec/apache2'
HTTPD_PARA="$HTTPD_PARA -DDarwin"
;;
*)
DEFAULT_HTTPD_PATH='/usr/sbin/apache2'
DEFAULT_HTTPD_MODULE_PATH='/usr/lib/apache2/modules'
;;
esac
LIB_HTTPD_PATH=${LIB_HTTPD_PATH-"$DEFAULT_HTTPD_PATH"}
LIB_HTTPD_PORT=${LIB_HTTPD_PORT-'8111'}
TEST_PATH="$TEST_DIRECTORY"/lib-httpd
@ -39,14 +53,12 @@ then
exit
fi
LIB_HTTPD_MODULE_PATH='/usr/lib/apache2/modules'
LIB_HTTPD_MODULE_PATH="$DEFAULT_HTTPD_MODULE_PATH"
fi
else
error "Could not identify web server at '$LIB_HTTPD_PATH'"
fi
HTTPD_PARA=""
prepare_httpd() {
mkdir -p "$HTTPD_DOCUMENT_ROOT_PATH"
@ -95,5 +107,5 @@ stop_httpd() {
trap 'die' EXIT
"$LIB_HTTPD_PATH" -d "$HTTPD_ROOT_PATH" \
-f "$TEST_PATH/apache.conf" -k stop
-f "$TEST_PATH/apache.conf" $HTTPD_PARA -k stop
}

View file

@ -5,6 +5,12 @@ LogFormat "%h %l %u %t \"%r\" %>s %b" common
CustomLog access.log common
ErrorLog error.log
<IfDefine Darwin>
LoadModule log_config_module modules/mod_log_config.so
LockFile accept.lock
PidFile httpd.pid
</IfDefine>
<IfDefine SSL>
LoadModule ssl_module modules/mod_ssl.so