t/lib-httpd: handle running under --valgrind
authorJeff King <peff@peff.net>
Tue, 24 Jul 2012 13:43:59 +0000 (09:43 -0400)
committerJunio C Hamano <gitster@pobox.com>
Tue, 24 Jul 2012 19:43:44 +0000 (12:43 -0700)
commitf628825481b706baa3d9bf871a081cb1285c2778
tree58a3ed7216d0b3554a3ec2c86d07d2be36950faa
parentccc1188fa34cd9519185a22b13599256ccfac7e1
t/lib-httpd: handle running under --valgrind

Running the http tests with valgrind does not work for two
reasons:

  1. Apache complains about following the symbolic link from
     git-http-backend to valgrind.sh.

  2. Apache does not pass through the GIT_VALGRIND variable
     to the backend CGI.

This patch fixes both problems. Unfortunately, there is a
slight hack we need to handle passing environment variables
through Apache. If we just tell it:

  PassEnv GIT_VALGRIND

then Apache will complain when GIT_VALGRIND is not set. If
we try:

  SetEnv GIT_VALGRIND ${GIT_VALGRIND}

then when GIT_VALGRIND is not set, it will pass through the
literal "${GIT_VALGRIND}". Instead, we now unconditionally
pass through GIT_VALGRIND from lib-httpd.sh into apache,
even if it is empty.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/lib-httpd.sh
t/lib-httpd/apache.conf