Hi Peff, On Tue, 26 Apr 2016, Jeff King wrote: > On Tue, Apr 26, 2016 at 05:33:33PM +0200, Johannes Schindelin wrote: > > > Testing the headers? I dunno, do we have tests for that already? I thought > > we did not: it requires an HTTP server (so that the headers are actually > > sent) that we can force to check the header... > > > > So I see we have some tests that use Apache, and one that uses our own > > http-backend. But is there already anything that logs HTTP requests? I did > > not think so, please correct me if I am wrong. > > You can ask apache to check for specific headers. Like this: > > diff --git a/t/lib-httpd/apache.conf b/t/lib-httpd/apache.conf > index 9317ba0..de5a8fe 100644 > --- a/t/lib-httpd/apache.conf > +++ b/t/lib-httpd/apache.conf > @@ -102,6 +102,12 @@ Alias /auth/dumb/ www/auth/dumb/ > SetEnv GIT_HTTP_EXPORT_ALL > Header set Set-Cookie name=value > </LocationMatch> > +<LocationMatch /smart_headers/> > + Require expr %{HTTP:x-magic-one} == 'abra' > + Require expr %{HTTP:x-magic-two} == 'cadabra' > + SetEnv GIT_EXEC_PATH ${GIT_EXEC_PATH} > + SetEnv GIT_HTTP_EXPORT_ALL > +</LocationMatch> > ScriptAliasMatch /smart_*[^/]*/(.*) ${GIT_EXEC_PATH}/git-http-backend/$1 > ScriptAlias /broken_smart/ broken-smart-http.sh/ > ScriptAlias /error/ error.sh/ > diff --git a/t/t5551-http-fetch-smart.sh b/t/t5551-http-fetch-smart.sh > index 58207d8..e44fe72 100755 > --- a/t/t5551-http-fetch-smart.sh > +++ b/t/t5551-http-fetch-smart.sh > @@ -282,5 +282,12 @@ test_expect_success EXPENSIVE 'http can handle enormous ref negotiation' ' > test_line_count = 100000 tags > ' > > +test_expect_success 'custom http headers' ' > + test_must_fail git fetch "$HTTPD_URL/smart_headers/repo.git" && > + git -c http.extraheader="x-magic-one: abra" \ > + -c http.extraheader="x-magic-two: cadabra" \ > + fetch "$HTTPD_URL/smart_headers/repo.git" > +' > + > stop_httpd > test_done That's pretty easy. After sleeping over the issue, I realized, though, that the test can use the very same method *I* used to verify that the headers are sent: using GIT_CURL_VERBOSE. I hope you do not mind that I used this method instead. Thanks, Dscho -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html