# HG changeset patch # User Matt Mackall # Date 1285526492 18000 # Node ID 31ea3ce83a92e0c971a15bb3f735d5ebd719be55 # Parent 922d2078017ad31c320a28be7c1bc4ac3b2ce7ca tests: unify test-hgweb-no-request-uri diff -r 922d2078017a -r 31ea3ce83a92 tests/test-hgweb-no-request-uri --- a/tests/test-hgweb-no-request-uri Sun Sep 26 13:41:32 2010 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,74 +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 - --rw-r--r-- 4 bar - - ----- ERRORS - ----- STATUS -200 Script output follows ----- HEADERS -[('Content-Type', 'text/plain; charset=ascii')] ----- DATA - -/repo/ - ----- ERRORS - ----- STATUS -200 Script output follows ----- HEADERS -[('Content-Type', 'text/plain; charset=ascii')] ----- DATA - --rw-r--r-- 4 bar - - ----- ERRORS - diff -r 922d2078017a -r 31ea3ce83a92 tests/test-hgweb-no-request-uri.t --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-hgweb-no-request-uri.t Sun Sep 26 13:41:32 2010 -0500 @@ -0,0 +1,143 @@ +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['PATH_INFO'] = '/' + > env['QUERY_STRING'] = 'style=atom' + > process(hgweb('.', name = 'repo')) + > + > output = StringIO() + > env['PATH_INFO'] = '/file/tip/' + > env['QUERY_STRING'] = 'style=raw' + > process(hgweb('.', name = 'repo')) + > + > output = StringIO() + > env['PATH_INFO'] = '/' + > env['QUERY_STRING'] = 'style=raw' + > process(hgwebdir({'repo': '.'})) + > + > output = StringIO() + > env['PATH_INFO'] = '/repo/file/tip/' + > 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 + + -rw-r--r-- 4 bar + + + ---- ERRORS + + ---- STATUS + 200 Script output follows + ---- HEADERS + [('Content-Type', 'text/plain; charset=ascii')] + ---- DATA + + /repo/ + + ---- ERRORS + + ---- STATUS + 200 Script output follows + ---- HEADERS + [('Content-Type', 'text/plain; charset=ascii')] + ---- DATA + + -rw-r--r-- 4 bar + + + ---- ERRORS +