Mercurial > hg
view tests/test-hgweb-no-request-uri @ 12403:ba8850911703
test-serve: fix test for binding to low named port on solaris
Solaris do not know the service called http, so we use echo instead.
Trying to define KILLQUIETLY when running the hgserve function didn't set the
value within the function. Now we set the variable before calling the function.
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Sat, 25 Sep 2010 02:35:32 +0200 |
parents | f64b416b0ac8 |
children |
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" 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(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 | sed "s/http:\/\/127\.0\.0\.1:[0-9]*\//http:\/\/127.0.0.1\//"