##// END OF EJS Templates
journal: report parsing errors on recover/rollback (issue4172)
journal: report parsing errors on recover/rollback (issue4172)

File last commit:

r18646:c6a81e54 default
r20524:28b8ff84 default
Show More
test-hgweb-no-path-info.t
111 lines | 3.0 KiB | text/troff | Tads3Lexer
/ tests / test-hgweb-no-path-info.t
Matt Mackall
tests: unify test-hgweb-no-path-info
r12438 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.
Martin Geisler
tests: remove redundant mkdir...
r13956 $ hg init repo
Matt Mackall
tests: unify test-hgweb-no-path-info
r12438 $ cd repo
$ 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 <<EOF
> from mercurial.hgweb import hgweb, hgwebdir
> from StringIO import StringIO
> import os, sys
>
> errors = StringIO()
> input = StringIO()
>
> def startrsp(status, headers):
Adrian Buehlmann
check-code: add 'no tab indent' check for unified tests...
r12743 > print '---- STATUS'
> print status
> print '---- HEADERS'
> print [i for i in headers if i[0] != 'ETag']
> print '---- DATA'
> return output.write
Matt Mackall
tests: unify test-hgweb-no-path-info
r12438 >
> env = {
Adrian Buehlmann
check-code: add 'no tab indent' check for unified tests...
r12743 > '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',
Mads Kiilerich
hgweb: make the test suite use hgweb in a more WSGI compliant way...
r18646 > 'PATH_INFO': '/',
Adrian Buehlmann
check-code: add 'no tab indent' check for unified tests...
r12743 > 'SCRIPT_NAME': '',
> 'SERVER_NAME': '127.0.0.1',
> 'SERVER_PORT': os.environ['HGPORT'],
> 'SERVER_PROTOCOL': 'HTTP/1.0'
Matt Mackall
tests: unify test-hgweb-no-path-info
r12438 > }
>
> def process(app):
> content = app(env, startrsp)
> sys.stdout.write(output.getvalue())
> sys.stdout.write(''.join(content))
Mads Kiilerich
hgweb: make the test suite use hgweb in a more WSGI compliant way...
r18646 > getattr(content, 'close', lambda : None)()
Matt Mackall
tests: unify test-hgweb-no-path-info
r12438 > print '---- ERRORS'
> print errors.getvalue()
>
> output = StringIO()
> env['QUERY_STRING'] = 'style=atom'
> process(hgweb('.', name='repo'))
>
> output = StringIO()
> 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
<?xml version="1.0" encoding="ascii"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<!-- Changelog -->
Mads Kiilerich
tests: reintroduce ":$HGPORT" in test output...
r12643 <id>http://127.0.0.1:$HGPORT/</id>
<link rel="self" href="http://127.0.0.1:$HGPORT/atom-log"/>
<link rel="alternate" href="http://127.0.0.1:$HGPORT/"/>
Matt Mackall
tests: unify test-hgweb-no-path-info
r12438 <title>repo Changelog</title>
<updated>1970-01-01T00:00:00+00:00</updated>
<entry>
<title>test</title>
Mads Kiilerich
tests: reintroduce ":$HGPORT" in test output...
r12643 <id>http://127.0.0.1:$HGPORT/#changeset-61c9426e69fef294feed5e2bbfc97d39944a5b1c</id>
<link href="http://127.0.0.1:$HGPORT/rev/61c9426e69fe"/>
Matt Mackall
tests: unify test-hgweb-no-path-info
r12438 <author>
<name>test</name>
<email>&#116;&#101;&#115;&#116;</email>
</author>
<updated>1970-01-01T00:00:00+00:00</updated>
<published>1970-01-01T00:00:00+00:00</published>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<pre xml:space="preserve">test</pre>
</div>
</content>
</entry>
</feed>
---- ERRORS
---- STATUS
200 Script output follows
---- HEADERS
[('Content-Type', 'text/plain; charset=ascii')]
---- DATA
Mads Kiilerich
hgweb: make the test suite use hgweb in a more WSGI compliant way...
r18646 /repo/
Matt Mackall
tests: unify test-hgweb-no-path-info
r12438
---- ERRORS
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..