# HG changeset patch # User Matt Mackall # Date 1285526492 18000 # Node ID 922d2078017ad31c320a28be7c1bc4ac3b2ce7ca # Parent b5538f89e5aa830d867be42060cbb8c33156e436 tests: unify test-hgweb-no-path-info diff -r b5538f89e5aa -r 922d2078017a tests/test-hgweb-no-path-info --- a/tests/test-hgweb-no-path-info Sun Sep 26 13:41:32 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,61 +0,0 @@ -#!/bin/sh -# This tests if hgweb and hgwebdir still work if the REQUEST_URI variable is -# no longer passed with the request. Instead, SCRIPT_NAME and PATH_INFO -# should be used from d74fc8dec2b4 onward to route the request. - -mkdir repo -cd repo -hg init -echo foo > bar -hg add bar -hg commit -m "test" -hg tip - -cat > request.py < - - - http://127.0.0.1/ - - - repo Changelog - 1970-01-01T00:00:00+00:00 - - - test - http://127.0.0.1/#changeset-61c9426e69fef294feed5e2bbfc97d39944a5b1c - - - test - test - - 1970-01-01T00:00:00+00:00 - 1970-01-01T00:00:00+00:00 - -
-
test
-
-
-
- -
----- ERRORS - ----- STATUS -200 Script output follows ----- HEADERS -[('Content-Type', 'text/plain; charset=ascii')] ----- DATA - -repo/ - ----- ERRORS - diff -r b5538f89e5aa -r 922d2078017a tests/test-hgweb-no-path-info.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-hgweb-no-path-info.t Sun Sep 26 13:41:32 2010 -0500 @@ -0,0 +1,108 @@ +This tests if hgweb and hgwebdir still work if the REQUEST_URI variable is +no longer passed with the request. Instead, SCRIPT_NAME and PATH_INFO +should be used from d74fc8dec2b4 onward to route the request. + + $ mkdir repo + $ cd repo + $ hg init + $ echo foo > bar + $ hg add bar + $ hg commit -m "test" + $ hg tip + changeset: 0:61c9426e69fe + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: test + + $ cat > request.py < from mercurial.hgweb import hgweb, hgwebdir + > from StringIO import StringIO + > import os, sys + > + > errors = StringIO() + > input = StringIO() + > + > def startrsp(status, headers): + > print '---- STATUS' + > print status + > print '---- HEADERS' + > print [i for i in headers if i[0] != 'ETag'] + > print '---- DATA' + > return output.write + > + > env = { + > 'wsgi.version': (1, 0), + > 'wsgi.url_scheme': 'http', + > 'wsgi.errors': errors, + > 'wsgi.input': input, + > 'wsgi.multithread': False, + > 'wsgi.multiprocess': False, + > 'wsgi.run_once': False, + > 'REQUEST_METHOD': 'GET', + > 'SCRIPT_NAME': '', + > 'SERVER_NAME': '127.0.0.1', + > 'SERVER_PORT': os.environ['HGPORT'], + > 'SERVER_PROTOCOL': 'HTTP/1.0' + > } + > + > def process(app): + > content = app(env, startrsp) + > sys.stdout.write(output.getvalue()) + > sys.stdout.write(''.join(content)) + > print '---- ERRORS' + > print errors.getvalue() + > + > output = StringIO() + > env['QUERY_STRING'] = 'style=atom' + > process(hgweb('.', name='repo')) + > + > output = StringIO() + > env['QUERY_STRING'] = 'style=raw' + > process(hgwebdir({'repo': '.'})) + > EOF + $ python request.py + ---- STATUS + 200 Script output follows + ---- HEADERS + [('Content-Type', 'application/atom+xml; charset=ascii')] + ---- DATA + + + + http://127.0.0.1:*/ (glob) + (glob) + (glob) + repo Changelog + 1970-01-01T00:00:00+00:00 + + + test + http://127.0.0.1:*/#changeset-61c9426e69fef294feed5e2bbfc97d39944a5b1c (glob) + (glob) + + test + test + + 1970-01-01T00:00:00+00:00 + 1970-01-01T00:00:00+00:00 + +
+
test
+
+
+
+ +
+ ---- ERRORS + + ---- STATUS + 200 Script output follows + ---- HEADERS + [('Content-Type', 'text/plain; charset=ascii')] + ---- DATA + + repo/ + + ---- ERRORS +