On Thu, Nov 10, 2016 at 01:33:29PM -0800, Junio C Hamano wrote: > Jeff King <peff@xxxxxxxx> writes: > > > IMHO, the value in the http tests is not testing the server side, but > > the client side. Without being able to set up a dummy HTTP server, we do > > not have any way to exercise the client side of git-over-http at all. > > And people on macOS _do_ use that. :) > > Amen to that. > > I however do not know what the universally available simplest dummy > HTTP server would be. There probably are better alternative than > Apache with distro-customized ways of configuration that we have to > adjust. > > A solution around HTTP::Server::Simple sounds attractive but is it > a realistic alternative or too much effort required? I dunno. I'm less concerned about the amount of effort (though I agree it may be a blocker) than about the fact that it may not behave similarly to real servers. We have had real bugs and surprises with the way that various web servers implement things. A few that come to mind are: 1. Buffering/deadlock issues between the webserver and the CGI (this was an issue with Apache, but I don't know about other servers). 2. The handling of CONTENT_LENGTH with chunked-encoding (this is still an issue with IIS). 3. What happens when you ask for "foo.git/info/refs" and "foo.git" is a bundle file (Apache gives you a 404, lighttpd serves the bundle). Ideally we'd test against a lot of different webservers, but that's expensive (in CPU, but also in developer time). But I'd guess that Apache is at least more representative than HTTP::Server::Simple of real servers in the wild. So if we had a simple fallback in addition to Apache, I'd be OK with that. But we still have a problem that (say) people on MacOS would never actually test against Apache, because it's not supported there. -Peff