Mercurial > hg
view tests/test-hgweb-no-request-uri @ 7493:518afef5e350
Fix Bugzilla integration to work with new Bugzilla 3.2.
Bugzilla 3.2 changes the type of all MySQL tables it uses from MyISAM
to InnoDB. MyISAM does not support transactions, and performs an implied
commit after each update. InnoDB does support transactions, and so
exposes a bug where changes to the Bugzilla database were not committed,
and so with 3.2 are lost when the database connection closes.
author | Jim Hague <jim.hague@acm.org> |
---|---|
date | Tue, 09 Dec 2008 09:58:13 +0000 |
parents | 2cfdabe235fb |
children | 6c82beaaa11a |
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" -d "0 0" -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\//"