##// END OF EJS Templates
backout: remove unnecessary frobbing of addremove option...
backout: remove unnecessary frobbing of addremove option There's no way for addremove to show up in backout's opts dictionary. It was being set manually because cmdutil.commit expected it to be there (and would throw an exception if it wasn't). This was fixed waaaaaaay back in: changeset: 5829:784073457a0f user: Kirill Smelkov <kirr@mns.spb.ru> date: Thu Jan 10 12:07:18 2008 +0300 summary: cmdutil.commit: extract 'addremove' from opts carefully

File last commit:

r18400:f1118507 default
r18686:0bca4d31 default
Show More
get-with-headers.py
60 lines | 1.6 KiB | text/x-python | PythonLexer
/ tests / get-with-headers.py
Eric Hopper
Add a test for getting raw files via the web UI.
r2532 #!/usr/bin/env python
Martin Geisler
tests: fix doc string in get-with-headers.py
r8447 """This does HTTP GET requests given a host:port and path and returns
Eric Hopper
Add a test for getting raw files via the web UI.
r2532 a subset of the headers plus the body of the result."""
Nicolas Dumazet
pylint, pyflakes: remove unused or duplicate imports
r10905 import httplib, sys
Patrick Mezard
get-with-headers: fix stream modes under Windows
r7054
try:
import msvcrt, os
msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
msvcrt.setmode(sys.stderr.fileno(), os.O_BINARY)
except ImportError:
pass
Dirkjan Ochtman
tests: extend get-with-headers to support cache testing
r12182 twice = False
if '--twice' in sys.argv:
sys.argv.remove('--twice')
twice = True
Pierre-Yves David
get-with-headers: add a --headeronly switch...
r18400 headeronly = False
if '--headeronly' in sys.argv:
sys.argv.remove('--headeronly')
headeronly = True
Dirkjan Ochtman
tests: extend get-with-headers to support cache testing
r12182
Dirkjan Ochtman
tests: fix incompatibility with python-2.4 in test-hgweb...
r12250 reasons = {'Not modified': 'Not Modified'} # python 2.4
Dirkjan Ochtman
tests: extend get-with-headers to support cache testing
r12182 tag = None
def request(host, path, show):
Mads Kiilerich
tests: prepare get-with-headers.py for MSYS...
r17017 assert not path.startswith('/'), path
Dirkjan Ochtman
tests: extend get-with-headers to support cache testing
r12182 global tag
headers = {}
if tag:
headers['If-None-Match'] = tag
Bryan O'Sullivan
hgweb: return meaningful HTTP status codes instead of nonsense
r5561
Dirkjan Ochtman
tests: extend get-with-headers to support cache testing
r12182 conn = httplib.HTTPConnection(host)
Mads Kiilerich
tests: prepare get-with-headers.py for MSYS...
r17017 conn.request("GET", '/' + path, None, headers)
Dirkjan Ochtman
tests: extend get-with-headers to support cache testing
r12182 response = conn.getresponse()
Dirkjan Ochtman
tests: fix incompatibility with python-2.4 in test-hgweb...
r12250 print response.status, reasons.get(response.reason, response.reason)
Mads Kiilerich
serve: don't send any content headers with 304 responses...
r18380 if show[:1] == ['-']:
Mads Kiilerich
tests: make test-hgweb.t output stable...
r18393 show = sorted(h for h, v in response.getheaders()
if h.lower() not in show)
Dirkjan Ochtman
tests: extend get-with-headers to support cache testing
r12182 for h in [h.lower() for h in show]:
if response.getheader(h, None) is not None:
print "%s: %s" % (h, response.getheader(h))
Pierre-Yves David
get-with-headers: add a --headeronly switch...
r18400 if not headeronly:
print
data = response.read()
sys.stdout.write(data)
Dirkjan Ochtman
tests: extend get-with-headers to support cache testing
r12182
Pierre-Yves David
get-with-headers: add a --headeronly switch...
r18400 if twice and response.getheader('ETag', None):
tag = response.getheader('ETag')
Dirkjan Ochtman
tests: extend get-with-headers to support cache testing
r12182
return response.status
status = request(sys.argv[1], sys.argv[2], sys.argv[3:])
if twice:
status = request(sys.argv[1], sys.argv[2], sys.argv[3:])
if 200 <= status <= 305:
Bryan O'Sullivan
hgweb: return meaningful HTTP status codes instead of nonsense
r5561 sys.exit(0)
sys.exit(1)