Mercurial > hg
view tests/test-hgweb-no-request-uri @ 9469:7f0f882af23d
config: abort on indented non-continuation lines (issue1829)
Previously, as soon as a continuation would be met, "cont" would stay
forever set to True, but "item" was set back to "None".
This caused the continuation code bits to run every time, until the next
"self.get(section, item) + '\n'" which would crash.
author | Nicolas Dumazet <nicdumz.commits@gmail.com> |
---|---|
date | Sat, 12 Sep 2009 11:17:07 +0200 |
parents | 6c82beaaa11a |
children | dfb11f9922c1 |
line wrap: on
line source
#!/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" -u "Testing" hg tip cat > request.py <<EOF from mercurial.hgweb import hgweb, hgwebdir from StringIO import StringIO import os, sys errors = StringIO() input = StringIO() def startrsp(headers, data): print '---- HEADERS' print headers print '---- DATA' 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 | sed "s/http:\/\/127\.0\.0\.1:[0-9]*\//http:\/\/127.0.0.1\//"