##// END OF EJS Templates
merge with stable
merge with stable

File last commit:

r12183:f64b416b default
r12278:c4c2ba55 merge default
Show More
test-hgweb-no-path-info
61 lines | 1.4 KiB | text/plain | TextLexer
/ tests / test-hgweb-no-path-info
Dirkjan Ochtman
hgweb: make hgwebdir work in the absence of PATH_INFO...
r6459 #!/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
Martin Geisler
tests: remove unneeded -u flags
r12161 hg commit -m "test"
Dirkjan Ochtman
hgweb: make hgwebdir work in the absence of PATH_INFO...
r6459 hg tip
cat > request.py <<EOF
from mercurial.hgweb import hgweb, hgwebdir
from StringIO import StringIO
import os, sys
errors = StringIO()
input = StringIO()
Dirkjan Ochtman
tests: fix test output for test-hgweb-no* tests
r12181 def startrsp(status, headers):
print '---- STATUS'
print status
Dirkjan Ochtman
hgweb: make hgwebdir work in the absence of PATH_INFO...
r6459 print '---- HEADERS'
Dirkjan Ochtman
hgweb: support very simple caching model (issue1845)
r12183 print [i for i in headers if i[0] != 'ETag']
Dirkjan Ochtman
hgweb: make hgwebdir work in the absence of PATH_INFO...
r6459 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'
}
Dirkjan Ochtman
hgweb: return content iterator instead of using write() callable...
r6945 def process(app):
content = app(env, startrsp)
sys.stdout.write(output.getvalue())
sys.stdout.write(''.join(content))
print '---- ERRORS'
print errors.getvalue()
Dirkjan Ochtman
hgweb: make hgwebdir work in the absence of PATH_INFO...
r6459 output = StringIO()
env['QUERY_STRING'] = 'style=atom'
Dirkjan Ochtman
hgweb: return content iterator instead of using write() callable...
r6945 process(hgweb('.', name='repo'))
Dirkjan Ochtman
hgweb: make hgwebdir work in the absence of PATH_INFO...
r6459
output = StringIO()
env['QUERY_STRING'] = 'style=raw'
Dirkjan Ochtman
hgweb: return content iterator instead of using write() callable...
r6945 process(hgwebdir({'repo': '.'}))
Dirkjan Ochtman
hgweb: make hgwebdir work in the absence of PATH_INFO...
r6459 EOF
python request.py | sed "s/http:\/\/127\.0\.0\.1:[0-9]*\//http:\/\/127.0.0.1\//"