Mercurial > hg-stable
view tests/test-hg-parseurl.py @ 40479:197f092b2cd9 stable 4.8.2
server: always close http socket if responding with an error (issue6033)
It's possible for hgweb to respond _very_ early with an error if we're
catching certain types of errors. When we do, we need to tell the client
the socket is toast when there's a POST involved because otherwise there
can be lingering POST data on the socket that will confuse any future
requests on the socket. This manifested as a flaky failure on Linux in an
lfs extension test and a reliable failure on FreeBSD. With this patch
applied, test-lfs-serve-access.t now passes for me on FreeBSD.
Differential Revision: https://phab.mercurial-scm.org/D5498
author | Augie Fackler <raf@durin42.com> |
---|---|
date | Sun, 06 Jan 2019 14:58:54 -0500 |
parents | 5dd71e9ae68a |
children | 2372284d9457 |
line wrap: on
line source
from __future__ import absolute_import, print_function import unittest from mercurial import ( hg, ) class ParseRequestTests(unittest.TestCase): def testparse(self): self.assertEqual(hg.parseurl(b'http://example.com/no/anchor'), (b'http://example.com/no/anchor', (None, []))) self.assertEqual(hg.parseurl(b'http://example.com/an/anchor#foo'), (b'http://example.com/an/anchor', (b'foo', []))) self.assertEqual( hg.parseurl(b'http://example.com/no/anchor/branches', [b'foo']), (b'http://example.com/no/anchor/branches', (None, [b'foo']))) self.assertEqual( hg.parseurl(b'http://example.com/an/anchor/branches#bar', [b'foo']), (b'http://example.com/an/anchor/branches', (b'bar', [b'foo']))) self.assertEqual(hg.parseurl( b'http://example.com/an/anchor/branches-None#foo', None), (b'http://example.com/an/anchor/branches-None', (b'foo', []))) self.assertEqual(hg.parseurl(b'http://example.com/'), (b'http://example.com/', (None, []))) self.assertEqual(hg.parseurl(b'http://example.com'), (b'http://example.com/', (None, []))) self.assertEqual(hg.parseurl(b'http://example.com#foo'), (b'http://example.com/', (b'foo', []))) if __name__ == '__main__': import silenttestrunner silenttestrunner.main(__name__)