Job hg-committed-1e12ea7d8435ffd0d02a76e2ebeb17d1cf09d073-debian10-cpython-3.6-0

Repo:hg-committed
Node:1e12ea7d8435ffd0d02a76e2ebeb17d1cf09d073
Name:debian10-cpython-3.6
Scheduled At:2022-07-18T11:06:48
Started At:2022-07-18T11:07:00
Finished At:2022-07-18T11:15:56

Failed Tests

test-https.t

--- /hgwork/src/tests/test-https.t
+++ /hgwork/src/tests/test-https.t.err
@@ -50,9 +50,82 @@
 
 #if no-defaultcacertsloaded
   $ hg clone https://localhost:$HGPORT/ copy-pull
-  (an attempt was made to load CA certificates but none were loaded; see https://mercurial-scm.org/wiki/SecureConnections for how to configure Mercurial to avoid this error)
-  abort: error: *certificate verify failed* (glob)
-  [100]
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 3.6.13 (default, May  9 2021, 17:21:49) [GCC 8.3.0]
+  ** Mercurial Distributed SCM (version 6.2+hg5.1e12ea7d8435)
+  ** Extensions loaded: 
+  Traceback (most recent call last):
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/bin/hg", line 59, in <module>
+      dispatch.run()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 143, in run
+      status = dispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 232, in dispatch
+      status = _rundispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 276, in _rundispatch
+      ret = _runcatch(req) or 0
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 451, in _runcatch
+      return _callcatch(ui, _runcatchfunc)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 461, in _callcatch
+      return scmutil.callcatch(ui, func)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/scmutil.py", line 153, in callcatch
+      return func()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 441, in _runcatchfunc
+      return _dispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1255, in _dispatch
+      lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 899, in runcommand
+      ret = _runcommand(ui, options, cmd, d)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1266, in _runcommand
+      return cmdfunc()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1252, in <lambda>
+      d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/util.py", line 1880, in check
+      return func(*args, **kwargs)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/commands.py", line 1967, in clone
+      depth=opts.get(b'depth') or None,
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/hg.py", line 666, in clone
+      srcpeer = peer(ui, peeropts, source)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/hg.py", line 237, in peer
+      rui, path, create, intents=intents, createopts=createopts
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/hg.py", line 185, in _peerorrepo
+      ui, path, create, intents=intents, createopts=createopts
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/httppeer.py", line 636, in instance
+      inst = makepeer(ui, path)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/httppeer.py", line 620, in makepeer
+      respurl, info = performhandshake(ui, url, opener, requestbuilder)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/httppeer.py", line 559, in performhandshake
+      resp = sendrequest(ui, opener, req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/httppeer.py", line 279, in sendrequest
+      res = opener.open(req)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/urllib/request.py", line 526, in open
+      response = self._open(req, data)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/urllib/request.py", line 544, in _open
+      '_open', req)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/urllib/request.py", line 504, in _call_chain
+      result = func(*args)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/url.py", line 361, in https_open
+      return self.do_open(self._makeconnection, req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/keepalive.py", line 242, in do_open
+      self._start_transaction(h, req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/url.py", line 347, in _start_transaction
+      return keepalive.KeepAliveHandler._start_transaction(self, h, req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/keepalive.py", line 359, in _start_transaction
+      h.endheaders()
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/http/client.py", line 1282, in endheaders
+      self._send_output(message_body, encode_chunked=encode_chunked)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/http/client.py", line 1042, in _send_output
+      self.send(msg)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/url.py", line 188, in _sendfile
+      orgsend(self, data)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/keepalive.py", line 634, in safesend
+      self.connect()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/url.py", line 334, in connect
+      serverhostname=host,
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/sslutil.py", line 334, in wrapsocket
+      sslcontext.minimum_version = ssl.TLSVersion.TLSv1_1
+  AttributeError: module 'ssl' has no attribute 'TLSVersion'
+  [1]
 #endif
 
 #if defaultcacertsloaded
@@ -73,76 +146,569 @@
 
   $ echo baddata > badca.pem
   $ hg --config hostsecurity.localhost:verifycertsfile=badca.pem clone https://localhost:$HGPORT/
-  abort: error loading CA file badca.pem: * (glob)
-  (file is empty or malformed?)
-  [255]
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 3.6.13 (default, May  9 2021, 17:21:49) [GCC 8.3.0]
+  ** Mercurial Distributed SCM (version 6.2+hg5.1e12ea7d8435)
+  ** Extensions loaded: 
+  Traceback (most recent call last):
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/bin/hg", line 59, in <module>
+      dispatch.run()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 143, in run
+      status = dispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 232, in dispatch
+      status = _rundispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 276, in _rundispatch
+      ret = _runcatch(req) or 0
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 451, in _runcatch
+      return _callcatch(ui, _runcatchfunc)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 461, in _callcatch
+      return scmutil.callcatch(ui, func)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/scmutil.py", line 153, in callcatch
+      return func()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 441, in _runcatchfunc
+      return _dispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1255, in _dispatch
+      lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 899, in runcommand
+      ret = _runcommand(ui, options, cmd, d)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1266, in _runcommand
+      return cmdfunc()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1252, in <lambda>
+      d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/util.py", line 1880, in check
+      return func(*args, **kwargs)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/commands.py", line 1967, in clone
+      depth=opts.get(b'depth') or None,
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/hg.py", line 666, in clone
+      srcpeer = peer(ui, peeropts, source)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/hg.py", line 237, in peer
+      rui, path, create, intents=intents, createopts=createopts
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/hg.py", line 185, in _peerorrepo
+      ui, path, create, intents=intents, createopts=createopts
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/httppeer.py", line 636, in instance
+      inst = makepeer(ui, path)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/httppeer.py", line 620, in makepeer
+      respurl, info = performhandshake(ui, url, opener, requestbuilder)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/httppeer.py", line 559, in performhandshake
+      resp = sendrequest(ui, opener, req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/httppeer.py", line 279, in sendrequest
+      res = opener.open(req)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/urllib/request.py", line 526, in open
+      response = self._open(req, data)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/urllib/request.py", line 544, in _open
+      '_open', req)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/urllib/request.py", line 504, in _call_chain
+      result = func(*args)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/url.py", line 361, in https_open
+      return self.do_open(self._makeconnection, req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/keepalive.py", line 242, in do_open
+      self._start_transaction(h, req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/url.py", line 347, in _start_transaction
+      return keepalive.KeepAliveHandler._start_transaction(self, h, req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/keepalive.py", line 359, in _start_transaction
+      h.endheaders()
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/http/client.py", line 1282, in endheaders
+      self._send_output(message_body, encode_chunked=encode_chunked)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/http/client.py", line 1042, in _send_output
+      self.send(msg)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/url.py", line 188, in _sendfile
+      orgsend(self, data)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/keepalive.py", line 634, in safesend
+      self.connect()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/url.py", line 334, in connect
+      serverhostname=host,
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/sslutil.py", line 334, in wrapsocket
+      sslcontext.minimum_version = ssl.TLSVersion.TLSv1_1
+  AttributeError: module 'ssl' has no attribute 'TLSVersion'
+  [1]
 
 A per-host certificate mismatching the server will fail verification
 
 (modern ssl is able to discern whether the loaded cert is a CA cert)
   $ hg --config hostsecurity.localhost:verifycertsfile="$CERTSDIR/client-cert.pem" clone https://localhost:$HGPORT/
-  (an attempt was made to load CA certificates but none were loaded; see https://mercurial-scm.org/wiki/SecureConnections for how to configure Mercurial to avoid this error)
+  ** unknown exception encountered, please report by visiting
   (the full certificate chain may not be available locally; see "hg help debugssl") (windows !)
-  abort: error: *certificate verify failed* (glob)
-  [100]
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 3.6.13 (default, May  9 2021, 17:21:49) [GCC 8.3.0]
+  ** Mercurial Distributed SCM (version 6.2+hg5.1e12ea7d8435)
+  ** Extensions loaded: 
+  Traceback (most recent call last):
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/bin/hg", line 59, in <module>
+      dispatch.run()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 143, in run
+      status = dispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 232, in dispatch
+      status = _rundispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 276, in _rundispatch
+      ret = _runcatch(req) or 0
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 451, in _runcatch
+      return _callcatch(ui, _runcatchfunc)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 461, in _callcatch
+      return scmutil.callcatch(ui, func)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/scmutil.py", line 153, in callcatch
+      return func()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 441, in _runcatchfunc
+      return _dispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1255, in _dispatch
+      lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 899, in runcommand
+      ret = _runcommand(ui, options, cmd, d)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1266, in _runcommand
+      return cmdfunc()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1252, in <lambda>
+      d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/util.py", line 1880, in check
+      return func(*args, **kwargs)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/commands.py", line 1967, in clone
+      depth=opts.get(b'depth') or None,
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/hg.py", line 666, in clone
+      srcpeer = peer(ui, peeropts, source)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/hg.py", line 237, in peer
+      rui, path, create, intents=intents, createopts=createopts
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/hg.py", line 185, in _peerorrepo
+      ui, path, create, intents=intents, createopts=createopts
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/httppeer.py", line 636, in instance
+      inst = makepeer(ui, path)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/httppeer.py", line 620, in makepeer
+      respurl, info = performhandshake(ui, url, opener, requestbuilder)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/httppeer.py", line 559, in performhandshake
+      resp = sendrequest(ui, opener, req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/httppeer.py", line 279, in sendrequest
+      res = opener.open(req)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/urllib/request.py", line 526, in open
+      response = self._open(req, data)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/urllib/request.py", line 544, in _open
+      '_open', req)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/urllib/request.py", line 504, in _call_chain
+      result = func(*args)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/url.py", line 361, in https_open
+      return self.do_open(self._makeconnection, req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/keepalive.py", line 242, in do_open
+      self._start_transaction(h, req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/url.py", line 347, in _start_transaction
+      return keepalive.KeepAliveHandler._start_transaction(self, h, req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/keepalive.py", line 359, in _start_transaction
+      h.endheaders()
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/http/client.py", line 1282, in endheaders
+      self._send_output(message_body, encode_chunked=encode_chunked)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/http/client.py", line 1042, in _send_output
+      self.send(msg)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/url.py", line 188, in _sendfile
+      orgsend(self, data)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/keepalive.py", line 634, in safesend
+      self.connect()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/url.py", line 334, in connect
+      serverhostname=host,
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/sslutil.py", line 334, in wrapsocket
+      sslcontext.minimum_version = ssl.TLSVersion.TLSv1_1
+  AttributeError: module 'ssl' has no attribute 'TLSVersion'
+  [1]
 
 A per-host certificate matching the server's cert will be accepted
 
   $ hg --config hostsecurity.localhost:verifycertsfile="$CERTSDIR/pub.pem" clone -U https://localhost:$HGPORT/ perhostgood1
-  requesting all changes
-  adding changesets
-  adding manifests
-  adding file changes
-  added 1 changesets with 4 changes to 4 files
-  new changesets 8b6053c928fe
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 3.6.13 (default, May  9 2021, 17:21:49) [GCC 8.3.0]
+  ** Mercurial Distributed SCM (version 6.2+hg5.1e12ea7d8435)
+  ** Extensions loaded: 
+  Traceback (most recent call last):
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/bin/hg", line 59, in <module>
+      dispatch.run()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 143, in run
+      status = dispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 232, in dispatch
+      status = _rundispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 276, in _rundispatch
+      ret = _runcatch(req) or 0
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 451, in _runcatch
+      return _callcatch(ui, _runcatchfunc)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 461, in _callcatch
+      return scmutil.callcatch(ui, func)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/scmutil.py", line 153, in callcatch
+      return func()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 441, in _runcatchfunc
+      return _dispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1255, in _dispatch
+      lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 899, in runcommand
+      ret = _runcommand(ui, options, cmd, d)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1266, in _runcommand
+      return cmdfunc()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1252, in <lambda>
+      d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/util.py", line 1880, in check
+      return func(*args, **kwargs)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/commands.py", line 1967, in clone
+      depth=opts.get(b'depth') or None,
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/hg.py", line 666, in clone
+      srcpeer = peer(ui, peeropts, source)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/hg.py", line 237, in peer
+      rui, path, create, intents=intents, createopts=createopts
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/hg.py", line 185, in _peerorrepo
+      ui, path, create, intents=intents, createopts=createopts
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/httppeer.py", line 636, in instance
+      inst = makepeer(ui, path)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/httppeer.py", line 620, in makepeer
+      respurl, info = performhandshake(ui, url, opener, requestbuilder)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/httppeer.py", line 559, in performhandshake
+      resp = sendrequest(ui, opener, req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/httppeer.py", line 279, in sendrequest
+      res = opener.open(req)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/urllib/request.py", line 526, in open
+      response = self._open(req, data)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/urllib/request.py", line 544, in _open
+      '_open', req)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/urllib/request.py", line 504, in _call_chain
+      result = func(*args)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/url.py", line 361, in https_open
+      return self.do_open(self._makeconnection, req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/keepalive.py", line 242, in do_open
+      self._start_transaction(h, req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/url.py", line 347, in _start_transaction
+      return keepalive.KeepAliveHandler._start_transaction(self, h, req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/keepalive.py", line 359, in _start_transaction
+      h.endheaders()
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/http/client.py", line 1282, in endheaders
+      self._send_output(message_body, encode_chunked=encode_chunked)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/http/client.py", line 1042, in _send_output
+      self.send(msg)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/url.py", line 188, in _sendfile
+      orgsend(self, data)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/keepalive.py", line 634, in safesend
+      self.connect()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/url.py", line 334, in connect
+      serverhostname=host,
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/sslutil.py", line 334, in wrapsocket
+      sslcontext.minimum_version = ssl.TLSVersion.TLSv1_1
+  AttributeError: module 'ssl' has no attribute 'TLSVersion'
+  [1]
 
 A per-host certificate with multiple certs and one matching will be accepted
 
   $ cat "$CERTSDIR/client-cert.pem" "$CERTSDIR/pub.pem" > perhost.pem
   $ hg --config hostsecurity.localhost:verifycertsfile=perhost.pem clone -U https://localhost:$HGPORT/ perhostgood2
-  requesting all changes
-  adding changesets
-  adding manifests
-  adding file changes
-  added 1 changesets with 4 changes to 4 files
-  new changesets 8b6053c928fe
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 3.6.13 (default, May  9 2021, 17:21:49) [GCC 8.3.0]
+  ** Mercurial Distributed SCM (version 6.2+hg5.1e12ea7d8435)
+  ** Extensions loaded: 
+  Traceback (most recent call last):
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/bin/hg", line 59, in <module>
+      dispatch.run()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 143, in run
+      status = dispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 232, in dispatch
+      status = _rundispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 276, in _rundispatch
+      ret = _runcatch(req) or 0
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 451, in _runcatch
+      return _callcatch(ui, _runcatchfunc)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 461, in _callcatch
+      return scmutil.callcatch(ui, func)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/scmutil.py", line 153, in callcatch
+      return func()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 441, in _runcatchfunc
+      return _dispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1255, in _dispatch
+      lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 899, in runcommand
+      ret = _runcommand(ui, options, cmd, d)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1266, in _runcommand
+      return cmdfunc()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1252, in <lambda>
+      d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/util.py", line 1880, in check
+      return func(*args, **kwargs)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/commands.py", line 1967, in clone
+      depth=opts.get(b'depth') or None,
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/hg.py", line 666, in clone
+      srcpeer = peer(ui, peeropts, source)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/hg.py", line 237, in peer
+      rui, path, create, intents=intents, createopts=createopts
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/hg.py", line 185, in _peerorrepo
+      ui, path, create, intents=intents, createopts=createopts
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/httppeer.py", line 636, in instance
+      inst = makepeer(ui, path)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/httppeer.py", line 620, in makepeer
+      respurl, info = performhandshake(ui, url, opener, requestbuilder)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/httppeer.py", line 559, in performhandshake
+      resp = sendrequest(ui, opener, req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/httppeer.py", line 279, in sendrequest
+      res = opener.open(req)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/urllib/request.py", line 526, in open
+      response = self._open(req, data)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/urllib/request.py", line 544, in _open
+      '_open', req)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/urllib/request.py", line 504, in _call_chain
+      result = func(*args)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/url.py", line 361, in https_open
+      return self.do_open(self._makeconnection, req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/keepalive.py", line 242, in do_open
+      self._start_transaction(h, req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/url.py", line 347, in _start_transaction
+      return keepalive.KeepAliveHandler._start_transaction(self, h, req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/keepalive.py", line 359, in _start_transaction
+      h.endheaders()
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/http/client.py", line 1282, in endheaders
+      self._send_output(message_body, encode_chunked=encode_chunked)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/http/client.py", line 1042, in _send_output
+      self.send(msg)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/url.py", line 188, in _sendfile
+      orgsend(self, data)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/keepalive.py", line 634, in safesend
+      self.connect()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/url.py", line 334, in connect
+      serverhostname=host,
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/sslutil.py", line 334, in wrapsocket
+      sslcontext.minimum_version = ssl.TLSVersion.TLSv1_1
+  AttributeError: module 'ssl' has no attribute 'TLSVersion'
+  [1]
 
 Defining both per-host certificate and a fingerprint will print a warning
 
   $ hg --config hostsecurity.localhost:verifycertsfile="$CERTSDIR/pub.pem" --config hostsecurity.localhost:fingerprints=sha1:ecd87cd6b386d04fc1b8b41c9d8f5e168eef1c03 clone -U https://localhost:$HGPORT/ caandfingerwarning
   (hostsecurity.localhost:verifycertsfile ignored when host fingerprints defined; using host fingerprints for verification)
-  requesting all changes
-  adding changesets
-  adding manifests
-  adding file changes
-  added 1 changesets with 4 changes to 4 files
-  new changesets 8b6053c928fe
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 3.6.13 (default, May  9 2021, 17:21:49) [GCC 8.3.0]
+  ** Mercurial Distributed SCM (version 6.2+hg5.1e12ea7d8435)
+  ** Extensions loaded: 
+  Traceback (most recent call last):
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/bin/hg", line 59, in <module>
+      dispatch.run()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 143, in run
+      status = dispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 232, in dispatch
+      status = _rundispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 276, in _rundispatch
+      ret = _runcatch(req) or 0
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 451, in _runcatch
+      return _callcatch(ui, _runcatchfunc)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 461, in _callcatch
+      return scmutil.callcatch(ui, func)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/scmutil.py", line 153, in callcatch
+      return func()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 441, in _runcatchfunc
+      return _dispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1255, in _dispatch
+      lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 899, in runcommand
+      ret = _runcommand(ui, options, cmd, d)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1266, in _runcommand
+      return cmdfunc()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1252, in <lambda>
+      d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/util.py", line 1880, in check
+      return func(*args, **kwargs)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/commands.py", line 1967, in clone
+      depth=opts.get(b'depth') or None,
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/hg.py", line 666, in clone
+      srcpeer = peer(ui, peeropts, source)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/hg.py", line 237, in peer
+      rui, path, create, intents=intents, createopts=createopts
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/hg.py", line 185, in _peerorrepo
+      ui, path, create, intents=intents, createopts=createopts
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/httppeer.py", line 636, in instance
+      inst = makepeer(ui, path)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/httppeer.py", line 620, in makepeer
+      respurl, info = performhandshake(ui, url, opener, requestbuilder)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/httppeer.py", line 559, in performhandshake
+      resp = sendrequest(ui, opener, req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/httppeer.py", line 279, in sendrequest
+      res = opener.open(req)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/urllib/request.py", line 526, in open
+      response = self._open(req, data)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/urllib/request.py", line 544, in _open
+      '_open', req)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/urllib/request.py", line 504, in _call_chain
+      result = func(*args)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/url.py", line 361, in https_open
+      return self.do_open(self._makeconnection, req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/keepalive.py", line 242, in do_open
+      self._start_transaction(h, req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/url.py", line 347, in _start_transaction
+      return keepalive.KeepAliveHandler._start_transaction(self, h, req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/keepalive.py", line 359, in _start_transaction
+      h.endheaders()
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/http/client.py", line 1282, in endheaders
+      self._send_output(message_body, encode_chunked=encode_chunked)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/http/client.py", line 1042, in _send_output
+      self.send(msg)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/url.py", line 188, in _sendfile
+      orgsend(self, data)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/keepalive.py", line 634, in safesend
+      self.connect()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/url.py", line 334, in connect
+      serverhostname=host,
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/sslutil.py", line 334, in wrapsocket
+      sslcontext.minimum_version = ssl.TLSVersion.TLSv1_1
+  AttributeError: module 'ssl' has no attribute 'TLSVersion'
+  [1]
 
   $ DISABLECACERTS="--config devel.disableloaddefaultcerts=true"
 
 Inability to verify peer certificate will result in abort
 
   $ hg clone https://localhost:$HGPORT/ copy-pull $DISABLECACERTS
-  abort: unable to verify security of localhost (no loaded CA certificates); refusing to connect
-  (see https://mercurial-scm.org/wiki/SecureConnections for how to configure Mercurial to avoid this error or set hostsecurity.localhost:fingerprints=sha256:20:de:b3:ad:b4:cd:a5:42:f0:74:41:1c:a2:70:1e:da:6e:c0:5c:16:9e:e7:22:0f:f1:b7:e5:6e:e4:92:af:7e to trust this server)
-  [150]
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 3.6.13 (default, May  9 2021, 17:21:49) [GCC 8.3.0]
+  ** Mercurial Distributed SCM (version 6.2+hg5.1e12ea7d8435)
+  ** Extensions loaded: 
+  Traceback (most recent call last):
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/bin/hg", line 59, in <module>
+      dispatch.run()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 143, in run
+      status = dispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 232, in dispatch
+      status = _rundispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 276, in _rundispatch
+      ret = _runcatch(req) or 0
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 451, in _runcatch
+      return _callcatch(ui, _runcatchfunc)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 461, in _callcatch
+      return scmutil.callcatch(ui, func)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/scmutil.py", line 153, in callcatch
+      return func()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 441, in _runcatchfunc
+      return _dispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1255, in _dispatch
+      lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 899, in runcommand
+      ret = _runcommand(ui, options, cmd, d)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1266, in _runcommand
+      return cmdfunc()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1252, in <lambda>
+      d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/util.py", line 1880, in check
+      return func(*args, **kwargs)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/commands.py", line 1967, in clone
+      depth=opts.get(b'depth') or None,
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/hg.py", line 666, in clone
+      srcpeer = peer(ui, peeropts, source)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/hg.py", line 237, in peer
+      rui, path, create, intents=intents, createopts=createopts
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/hg.py", line 185, in _peerorrepo
+      ui, path, create, intents=intents, createopts=createopts
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/httppeer.py", line 636, in instance
+      inst = makepeer(ui, path)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/httppeer.py", line 620, in makepeer
+      respurl, info = performhandshake(ui, url, opener, requestbuilder)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/httppeer.py", line 559, in performhandshake
+      resp = sendrequest(ui, opener, req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/httppeer.py", line 279, in sendrequest
+      res = opener.open(req)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/urllib/request.py", line 526, in open
+      response = self._open(req, data)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/urllib/request.py", line 544, in _open
+      '_open', req)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/urllib/request.py", line 504, in _call_chain
+      result = func(*args)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/url.py", line 361, in https_open
+      return self.do_open(self._makeconnection, req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/keepalive.py", line 242, in do_open
+      self._start_transaction(h, req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/url.py", line 347, in _start_transaction
+      return keepalive.KeepAliveHandler._start_transaction(self, h, req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/keepalive.py", line 359, in _start_transaction
+      h.endheaders()
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/http/client.py", line 1282, in endheaders
+      self._send_output(message_body, encode_chunked=encode_chunked)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/http/client.py", line 1042, in _send_output
+      self.send(msg)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/url.py", line 188, in _sendfile
+      orgsend(self, data)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/keepalive.py", line 634, in safesend
+      self.connect()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/url.py", line 334, in connect
+      serverhostname=host,
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/sslutil.py", line 334, in wrapsocket
+      sslcontext.minimum_version = ssl.TLSVersion.TLSv1_1
+  AttributeError: module 'ssl' has no attribute 'TLSVersion'
+  [1]
 
   $ hg clone --insecure https://localhost:$HGPORT/ copy-pull
-  warning: connection security to localhost is disabled per current settings; communication is susceptible to eavesdropping and tampering
-  requesting all changes
-  adding changesets
-  adding manifests
-  adding file changes
-  added 1 changesets with 4 changes to 4 files
-  new changesets 8b6053c928fe
-  updating to branch default
-  4 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 3.6.13 (default, May  9 2021, 17:21:49) [GCC 8.3.0]
+  ** Mercurial Distributed SCM (version 6.2+hg5.1e12ea7d8435)
+  ** Extensions loaded: 
+  Traceback (most recent call last):
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/bin/hg", line 59, in <module>
+      dispatch.run()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 143, in run
+      status = dispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 232, in dispatch
+      status = _rundispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 276, in _rundispatch
+      ret = _runcatch(req) or 0
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 451, in _runcatch
+      return _callcatch(ui, _runcatchfunc)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 461, in _callcatch
+      return scmutil.callcatch(ui, func)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/scmutil.py", line 153, in callcatch
+      return func()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 441, in _runcatchfunc
+      return _dispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1255, in _dispatch
+      lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 899, in runcommand
+      ret = _runcommand(ui, options, cmd, d)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1266, in _runcommand
+      return cmdfunc()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1252, in <lambda>
+      d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/util.py", line 1880, in check
+      return func(*args, **kwargs)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/commands.py", line 1967, in clone
+      depth=opts.get(b'depth') or None,
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/hg.py", line 666, in clone
+      srcpeer = peer(ui, peeropts, source)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/hg.py", line 237, in peer
+      rui, path, create, intents=intents, createopts=createopts
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/hg.py", line 185, in _peerorrepo
+      ui, path, create, intents=intents, createopts=createopts
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/httppeer.py", line 636, in instance
+      inst = makepeer(ui, path)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/httppeer.py", line 620, in makepeer
+      respurl, info = performhandshake(ui, url, opener, requestbuilder)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/httppeer.py", line 559, in performhandshake
+      resp = sendrequest(ui, opener, req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/httppeer.py", line 279, in sendrequest
+      res = opener.open(req)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/urllib/request.py", line 526, in open
+      response = self._open(req, data)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/urllib/request.py", line 544, in _open
+      '_open', req)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/urllib/request.py", line 504, in _call_chain
+      result = func(*args)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/url.py", line 361, in https_open
+      return self.do_open(self._makeconnection, req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/keepalive.py", line 242, in do_open
+      self._start_transaction(h, req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/url.py", line 347, in _start_transaction
+      return keepalive.KeepAliveHandler._start_transaction(self, h, req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/keepalive.py", line 359, in _start_transaction
+      h.endheaders()
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/http/client.py", line 1282, in endheaders
+      self._send_output(message_body, encode_chunked=encode_chunked)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/http/client.py", line 1042, in _send_output
+      self.send(msg)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/url.py", line 188, in _sendfile
+      orgsend(self, data)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/keepalive.py", line 634, in safesend
+      self.connect()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/url.py", line 334, in connect
+      serverhostname=host,
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/sslutil.py", line 326, in wrapsocket
+      sslcontext.minimum_version = ssl.TLSVersion.TLSv1
+  AttributeError: module 'ssl' has no attribute 'TLSVersion'
+  [1]
   $ hg verify -R copy-pull
-  checking changesets
-  checking manifests
-  crosschecking files in changesets and manifests
-  checking files
-  checked 1 changesets with 4 changes to 4 files
+  abort: repository copy-pull not found
+  [255]
   $ cd test
   $ echo bar > bar
   $ hg commit -A -d '1 0' -m 2
@@ -152,411 +718,8 @@
 pull without cacert
 
   $ cd copy-pull
+  $TESTTMP.sh: 76: cd: can't cd to copy-pull
   $ cat >> .hg/hgrc <<EOF
   > [hooks]
   > changegroup = sh -c "printenv.py --line changegroup"
   > EOF
-  $ hg pull $DISABLECACERTS
-  pulling from https://localhost:$HGPORT/
-  abort: unable to verify security of localhost (no loaded CA certificates); refusing to connect
-  (see https://mercurial-scm.org/wiki/SecureConnections for how to configure Mercurial to avoid this error or set hostsecurity.localhost:fingerprints=sha256:20:de:b3:ad:b4:cd:a5:42:f0:74:41:1c:a2:70:1e:da:6e:c0:5c:16:9e:e7:22:0f:f1:b7:e5:6e:e4:92:af:7e to trust this server)
-  [150]
-
-  $ hg pull --insecure
-  pulling from https://localhost:$HGPORT/
-  warning: connection security to localhost is disabled per current settings; communication is susceptible to eavesdropping and tampering
-  searching for changes
-  adding changesets
-  adding manifests
-  adding file changes
-  added 1 changesets with 1 changes to 1 files
-  new changesets 5fed3813f7f5
-  changegroup hook: HG_HOOKNAME=changegroup
-  HG_HOOKTYPE=changegroup
-  HG_NODE=5fed3813f7f5e1824344fdc9cf8f63bb662c292d
-  HG_NODE_LAST=5fed3813f7f5e1824344fdc9cf8f63bb662c292d
-  HG_SOURCE=pull
-  HG_TXNID=TXN:$ID$
-  HG_TXNNAME=pull
-  https://localhost:$HGPORT/
-  HG_URL=https://localhost:$HGPORT/
-  
-  (run 'hg update' to get a working copy)
-  $ cd ..
-
-cacert configured in local repo
-
-  $ cp copy-pull/.hg/hgrc copy-pull/.hg/hgrc.bu
-  $ echo "[web]" >> copy-pull/.hg/hgrc
-  $ echo "cacerts=$CERTSDIR/pub.pem" >> copy-pull/.hg/hgrc
-  $ hg -R copy-pull pull
-  pulling from https://localhost:$HGPORT/
-  searching for changes
-  no changes found
-  $ mv copy-pull/.hg/hgrc.bu copy-pull/.hg/hgrc
-
-cacert configured globally, also testing expansion of environment
-variables in the filename
-
-  $ echo "[web]" >> $HGRCPATH
-  $ echo 'cacerts=$P/pub.pem' >> $HGRCPATH
-  $ P="$CERTSDIR" hg -R copy-pull pull
-  pulling from https://localhost:$HGPORT/
-  searching for changes
-  no changes found
-  $ P="$CERTSDIR" hg -R copy-pull pull --insecure
-  pulling from https://localhost:$HGPORT/
-  warning: connection security to localhost is disabled per current settings; communication is susceptible to eavesdropping and tampering
-  searching for changes
-  no changes found
-
-empty cacert file
-
-  $ touch emptycafile
-
-  $ hg --config web.cacerts=emptycafile -R copy-pull pull
-  pulling from https://localhost:$HGPORT/
-  abort: error loading CA file emptycafile: * (glob)
-  (file is empty or malformed?)
-  [255]
-
-cacert mismatch
-
-  $ hg -R copy-pull pull --config web.cacerts="$CERTSDIR/pub.pem" -  > https://$LOCALIP:$HGPORT/
-  pulling from https://*:$HGPORT/ (glob)
-  abort: $LOCALIP certificate error: certificate is for localhost (glob)
-  (set hostsecurity.$LOCALIP:certfingerprints=sha256:20:de:b3:ad:b4:cd:a5:42:f0:74:41:1c:a2:70:1e:da:6e:c0:5c:16:9e:e7:22:0f:f1:b7:e5:6e:e4:92:af:7e config setting or use --insecure to connect insecurely)
-  [150]
-  $ hg -R copy-pull pull --config web.cacerts="$CERTSDIR/pub.pem" -  > https://$LOCALIP:$HGPORT/ --insecure
-  pulling from https://*:$HGPORT/ (glob)
-  warning: connection security to $LOCALIP is disabled per current settings; communication is susceptible to eavesdropping and tampering (glob)
-  searching for changes
-  no changes found
-  $ hg -R copy-pull pull --config web.cacerts="$CERTSDIR/pub-other.pem"
-  pulling from https://localhost:$HGPORT/
-  (the full certificate chain may not be available locally; see "hg help debugssl") (windows !)
-  abort: error: *certificate verify failed* (glob)
-  [100]
-  $ hg -R copy-pull pull --config web.cacerts="$CERTSDIR/pub-other.pem" -  > --insecure
-  pulling from https://localhost:$HGPORT/
-  warning: connection security to localhost is disabled per current settings; communication is susceptible to eavesdropping and tampering
-  searching for changes
-  no changes found
-
-Test server cert which isn't valid yet
-
-  $ hg serve -R test -p $HGPORT1 -d --pid-file=hg1.pid --certificate=server-not-yet.pem
-  $ cat hg1.pid >> $DAEMON_PIDS
-  $ hg -R copy-pull pull --config web.cacerts="$CERTSDIR/pub-not-yet.pem" -  > https://localhost:$HGPORT1/
-  pulling from https://localhost:$HGPORT1/
-  (the full certificate chain may not be available locally; see "hg help debugssl") (windows !)
-  abort: error: *certificate verify failed* (glob)
-  [100]
-
-Test server cert which no longer is valid
-
-  $ hg serve -R test -p $HGPORT2 -d --pid-file=hg2.pid --certificate=server-expired.pem
-  $ cat hg2.pid >> $DAEMON_PIDS
-  $ hg -R copy-pull pull --config web.cacerts="$CERTSDIR/pub-expired.pem" -  > https://localhost:$HGPORT2/
-  pulling from https://localhost:$HGPORT2/
-  (the full certificate chain may not be available locally; see "hg help debugssl") (windows !)
-  abort: error: *certificate verify failed* (glob)
-  [100]
-
-Setting ciphers to an invalid value aborts
-  $ P="$CERTSDIR" hg --config hostsecurity.ciphers=invalid -R copy-pull id https://localhost:$HGPORT/
-  abort: could not set ciphers: No cipher can be selected.
-  (change cipher string (invalid) in config)
-  [255]
-
-  $ P="$CERTSDIR" hg --config hostsecurity.localhost:ciphers=invalid -R copy-pull id https://localhost:$HGPORT/
-  abort: could not set ciphers: No cipher can be selected.
-  (change cipher string (invalid) in config)
-  [255]
-
-Changing the cipher string works
-
-  $ P="$CERTSDIR" hg --config hostsecurity.ciphers=HIGH -R copy-pull id https://localhost:$HGPORT/
-  5fed3813f7f5
-
-Fingerprints
-
-- works without cacerts (hostfingerprints)
-  $ hg -R copy-pull id https://localhost:$HGPORT/ --insecure --config hostfingerprints.localhost=ec:d8:7c:d6:b3:86:d0:4f:c1:b8:b4:1c:9d:8f:5e:16:8e:ef:1c:03
-  (SHA-1 fingerprint for localhost found in legacy [hostfingerprints] section; if you trust this fingerprint, remove the old SHA-1 fingerprint from [hostfingerprints] and add the following entry to the new [hostsecurity] section: localhost:fingerprints=sha256:20:de:b3:ad:b4:cd:a5:42:f0:74:41:1c:a2:70:1e:da:6e:c0:5c:16:9e:e7:22:0f:f1:b7:e5:6e:e4:92:af:7e)
-  5fed3813f7f5
-
-- works without cacerts (hostsecurity)
-  $ hg -R copy-pull id https://localhost:$HGPORT/ --config hostsecurity.localhost:fingerprints=sha1:ecd87cd6b386d04fc1b8b41c9d8f5e168eef1c03
-  5fed3813f7f5
-
-  $ hg -R copy-pull id https://localhost:$HGPORT/ --config hostsecurity.localhost:fingerprints=sha256:20:de:b3:ad:b4:cd:a5:42:f0:74:41:1c:a2:70:1e:da:6e:c0:5c:16:9e:e7:22:0f:f1:b7:e5:6e:e4:92:af:7e
-  5fed3813f7f5
-
-- multiple fingerprints specified and first matches
-  $ hg --config 'hostfingerprints.localhost=ecd87cd6b386d04fc1b8b41c9d8f5e168eef1c03, deadbeefdeadbeefdeadbeefdeadbeefdeadbeef' -R copy-pull id https://localhost:$HGPORT/ --insecure
-  (SHA-1 fingerprint for localhost found in legacy [hostfingerprints] section; if you trust this fingerprint, remove the old SHA-1 fingerprint from [hostfingerprints] and add the following entry to the new [hostsecurity] section: localhost:fingerprints=sha256:20:de:b3:ad:b4:cd:a5:42:f0:74:41:1c:a2:70:1e:da:6e:c0:5c:16:9e:e7:22:0f:f1:b7:e5:6e:e4:92:af:7e)
-  5fed3813f7f5
-
-  $ hg --config 'hostsecurity.localhost:fingerprints=sha1:ecd87cd6b386d04fc1b8b41c9d8f5e168eef1c03, sha1:deadbeefdeadbeefdeadbeefdeadbeefdeadbeef' -R copy-pull id https://localhost:$HGPORT/
-  5fed3813f7f5
-
-- multiple fingerprints specified and last matches
-  $ hg --config 'hostfingerprints.localhost=deadbeefdeadbeefdeadbeefdeadbeefdeadbeef, ecd87cd6b386d04fc1b8b41c9d8f5e168eef1c03' -R copy-pull id https://localhost:$HGPORT/ --insecure
-  (SHA-1 fingerprint for localhost found in legacy [hostfingerprints] section; if you trust this fingerprint, remove the old SHA-1 fingerprint from [hostfingerprints] and add the following entry to the new [hostsecurity] section: localhost:fingerprints=sha256:20:de:b3:ad:b4:cd:a5:42:f0:74:41:1c:a2:70:1e:da:6e:c0:5c:16:9e:e7:22:0f:f1:b7:e5:6e:e4:92:af:7e)
-  5fed3813f7f5
-
-  $ hg --config 'hostsecurity.localhost:fingerprints=sha1:deadbeefdeadbeefdeadbeefdeadbeefdeadbeef, sha1:ecd87cd6b386d04fc1b8b41c9d8f5e168eef1c03' -R copy-pull id https://localhost:$HGPORT/
-  5fed3813f7f5
-
-- multiple fingerprints specified and none match
-
-  $ hg --config 'hostfingerprints.localhost=deadbeefdeadbeefdeadbeefdeadbeefdeadbeef, aeadbeefdeadbeefdeadbeefdeadbeefdeadbeef' -R copy-pull id https://localhost:$HGPORT/ --insecure
-  abort: certificate for localhost has unexpected fingerprint ec:d8:7c:d6:b3:86:d0:4f:c1:b8:b4:1c:9d:8f:5e:16:8e:ef:1c:03
-  (check hostfingerprint configuration)
-  [150]
-
-  $ hg --config 'hostsecurity.localhost:fingerprints=sha1:deadbeefdeadbeefdeadbeefdeadbeefdeadbeef, sha1:aeadbeefdeadbeefdeadbeefdeadbeefdeadbeef' -R copy-pull id https://localhost:$HGPORT/
-  abort: certificate for localhost has unexpected fingerprint sha1:ec:d8:7c:d6:b3:86:d0:4f:c1:b8:b4:1c:9d:8f:5e:16:8e:ef:1c:03
-  (check hostsecurity configuration)
-  [150]
-
-- fails when cert doesn't match hostname (port is ignored)
-  $ hg -R copy-pull id https://localhost:$HGPORT1/ --config hostfingerprints.localhost=ecd87cd6b386d04fc1b8b41c9d8f5e168eef1c03
-  abort: certificate for localhost has unexpected fingerprint f4:2f:5a:0c:3e:52:5b:db:e7:24:a8:32:1d:18:97:6d:69:b5:87:84
-  (check hostfingerprint configuration)
-  [150]
-
-
-- ignores that certificate doesn't match hostname
-  $ hg -R copy-pull id https://$LOCALIP:$HGPORT/ --config hostfingerprints.$LOCALIP=ecd87cd6b386d04fc1b8b41c9d8f5e168eef1c03
-  (SHA-1 fingerprint for $LOCALIP found in legacy [hostfingerprints] section; if you trust this fingerprint, remove the old SHA-1 fingerprint from [hostfingerprints] and add the following entry to the new [hostsecurity] section: $LOCALIP:fingerprints=sha256:20:de:b3:ad:b4:cd:a5:42:f0:74:41:1c:a2:70:1e:da:6e:c0:5c:16:9e:e7:22:0f:f1:b7:e5:6e:e4:92:af:7e)
-  5fed3813f7f5
-
-Ports used by next test. Kill servers.
-
-  $ killdaemons.py hg0.pid
-  $ killdaemons.py hg1.pid
-  $ killdaemons.py hg2.pid
-
-#if tls1.2
-Start servers running supported TLS versions
-
-  $ cd test
-  $ hg serve -p $HGPORT -d --pid-file=../hg0.pid --certificate=$PRIV -  > --config devel.serverexactprotocol=tls1.0
-  $ cat ../hg0.pid >> $DAEMON_PIDS
-  $ hg serve -p $HGPORT1 -d --pid-file=../hg1.pid --certificate=$PRIV -  > --config devel.serverexactprotocol=tls1.1
-  $ cat ../hg1.pid >> $DAEMON_PIDS
-  $ hg serve -p $HGPORT2 -d --pid-file=../hg2.pid --certificate=$PRIV -  > --config devel.serverexactprotocol=tls1.2
-  $ cat ../hg2.pid >> $DAEMON_PIDS
-  $ cd ..
-
-Clients talking same TLS versions work
-
-  $ P="$CERTSDIR" hg --config hostsecurity.minimumprotocol=tls1.0 --config hostsecurity.ciphers=DEFAULT id https://localhost:$HGPORT/
-  5fed3813f7f5
-  $ P="$CERTSDIR" hg --config hostsecurity.minimumprotocol=tls1.1 --config hostsecurity.ciphers=DEFAULT id https://localhost:$HGPORT1/
-  5fed3813f7f5
-  $ P="$CERTSDIR" hg --config hostsecurity.minimumprotocol=tls1.2 id https://localhost:$HGPORT2/
-  5fed3813f7f5
-
-Clients requiring newer TLS version than what server supports fail
-
-  $ P="$CERTSDIR" hg id https://localhost:$HGPORT/
-  (could not negotiate a common security protocol (tls1.1+) with localhost; the likely cause is Mercurial is configured to be more secure than the server can support)
-  (consider contacting the operator of this server and ask them to support modern TLS protocol versions; or, set hostsecurity.localhost:minimumprotocol=tls1.0 to allow use of legacy, less secure protocols when communicating with this server)
-  (see https://mercurial-scm.org/wiki/SecureConnections for more info)
-  abort: error: .*(unsupported protocol|wrong ssl version|alert protocol version).* (re)
-  [100]
-
-  $ P="$CERTSDIR" hg --config hostsecurity.minimumprotocol=tls1.1 id https://localhost:$HGPORT/
-  (could not negotiate a common security protocol (tls1.1+) with localhost; the likely cause is Mercurial is configured to be more secure than the server can support)
-  (consider contacting the operator of this server and ask them to support modern TLS protocol versions; or, set hostsecurity.localhost:minimumprotocol=tls1.0 to allow use of legacy, less secure protocols when communicating with this server)
-  (see https://mercurial-scm.org/wiki/SecureConnections for more info)
-  abort: error: .*(unsupported protocol|wrong ssl version|alert protocol version).* (re)
-  [100]
-  $ P="$CERTSDIR" hg --config hostsecurity.minimumprotocol=tls1.2 id https://localhost:$HGPORT/
-  (could not negotiate a common security protocol (tls1.2+) with localhost; the likely cause is Mercurial is configured to be more secure than the server can support)
-  (consider contacting the operator of this server and ask them to support modern TLS protocol versions; or, set hostsecurity.localhost:minimumprotocol=tls1.0 to allow use of legacy, less secure protocols when communicating with this server)
-  (see https://mercurial-scm.org/wiki/SecureConnections for more info)
-  abort: error: .*(unsupported protocol|wrong ssl version|alert protocol version).* (re)
-  [100]
-  $ P="$CERTSDIR" hg --config hostsecurity.minimumprotocol=tls1.2 id https://localhost:$HGPORT1/
-  (could not negotiate a common security protocol (tls1.2+) with localhost; the likely cause is Mercurial is configured to be more secure than the server can support)
-  (consider contacting the operator of this server and ask them to support modern TLS protocol versions; or, set hostsecurity.localhost:minimumprotocol=tls1.0 to allow use of legacy, less secure protocols when communicating with this server)
-  (see https://mercurial-scm.org/wiki/SecureConnections for more info)
-  abort: error: .*(unsupported protocol|wrong ssl version|alert protocol version).* (re)
-  [100]
-
---insecure will allow TLS 1.0 connections and override configs
-
-  $ hg --config hostsecurity.minimumprotocol=tls1.2 id --insecure https://localhost:$HGPORT1/
-  warning: connection security to localhost is disabled per current settings; communication is susceptible to eavesdropping and tampering
-  5fed3813f7f5
-
-The per-host config option overrides the default
-
-  $ P="$CERTSDIR" hg id https://localhost:$HGPORT/ -  > --config hostsecurity.ciphers=DEFAULT -  > --config hostsecurity.minimumprotocol=tls1.2 -  > --config hostsecurity.localhost:minimumprotocol=tls1.0
-  5fed3813f7f5
-
-The per-host config option by itself works
-
-  $ P="$CERTSDIR" hg id https://localhost:$HGPORT/ -  > --config hostsecurity.localhost:minimumprotocol=tls1.2
-  (could not negotiate a common security protocol (tls1.2+) with localhost; the likely cause is Mercurial is configured to be more secure than the server can support)
-  (consider contacting the operator of this server and ask them to support modern TLS protocol versions; or, set hostsecurity.localhost:minimumprotocol=tls1.0 to allow use of legacy, less secure protocols when communicating with this server)
-  (see https://mercurial-scm.org/wiki/SecureConnections for more info)
-  abort: error: .*(unsupported protocol|wrong ssl version|alert protocol version).* (re)
-  [100]
-
-.hg/hgrc file [hostsecurity] settings are applied to remote ui instances (issue5305)
-
-  $ cat >> copy-pull/.hg/hgrc << EOF
-  > [hostsecurity]
-  > localhost:minimumprotocol=tls1.2
-  > EOF
-  $ P="$CERTSDIR" hg -R copy-pull id https://localhost:$HGPORT/
-  (could not negotiate a common security protocol (tls1.2+) with localhost; the likely cause is Mercurial is configured to be more secure than the server can support)
-  (consider contacting the operator of this server and ask them to support modern TLS protocol versions; or, set hostsecurity.localhost:minimumprotocol=tls1.0 to allow use of legacy, less secure protocols when communicating with this server)
-  (see https://mercurial-scm.org/wiki/SecureConnections for more info)
-  abort: error: .*(unsupported protocol|wrong ssl version|alert protocol version).* (re)
-  [100]
-
-  $ killdaemons.py hg0.pid
-  $ killdaemons.py hg1.pid
-  $ killdaemons.py hg2.pid
-#endif
-
-Prepare for connecting through proxy
-
-  $ hg serve -R test -p $HGPORT -d --pid-file=hg0.pid --certificate=$PRIV
-  $ cat hg0.pid >> $DAEMON_PIDS
-  $ hg serve -R test -p $HGPORT2 -d --pid-file=hg2.pid --certificate=server-expired.pem
-  $ cat hg2.pid >> $DAEMON_PIDS
-tinyproxy.py doesn't fully detach, so killing it may result in extra output
-from the shell. So don't kill it.
-  $ tinyproxy.py $HGPORT1 localhost >proxy.log </dev/null 2>&1 &
-  $ while [ ! -f proxy.pid ]; do sleep 0; done
-  $ cat proxy.pid >> $DAEMON_PIDS
-
-  $ echo "[http_proxy]" >> copy-pull/.hg/hgrc
-  $ echo "always=True" >> copy-pull/.hg/hgrc
-  $ echo "[hostfingerprints]" >> copy-pull/.hg/hgrc
-  $ echo "localhost =" >> copy-pull/.hg/hgrc
-
-Test unvalidated https through proxy
-
-  $ http_proxy=http://localhost:$HGPORT1/ hg -R copy-pull pull --insecure
-  pulling from https://localhost:$HGPORT/
-  warning: connection security to localhost is disabled per current settings; communication is susceptible to eavesdropping and tampering
-  searching for changes
-  no changes found
-
-Test https with cacert and fingerprint through proxy
-
-  $ http_proxy=http://localhost:$HGPORT1/ hg -R copy-pull pull -  > --config web.cacerts="$CERTSDIR/pub.pem"
-  pulling from https://localhost:$HGPORT/
-  searching for changes
-  no changes found
-  $ http_proxy=http://localhost:$HGPORT1/ hg -R copy-pull pull https://localhost:$HGPORT/ --config hostfingerprints.localhost=ecd87cd6b386d04fc1b8b41c9d8f5e168eef1c03 --trace
-  pulling from https://*:$HGPORT/ (glob)
-  (SHA-1 fingerprint for localhost found in legacy [hostfingerprints] section; if you trust this fingerprint, remove the old SHA-1 fingerprint from [hostfingerprints] and add the following entry to the new [hostsecurity] section: localhost:fingerprints=sha256:20:de:b3:ad:b4:cd:a5:42:f0:74:41:1c:a2:70:1e:da:6e:c0:5c:16:9e:e7:22:0f:f1:b7:e5:6e:e4:92:af:7e)
-  searching for changes
-  no changes found
-
-Test https with cert problems through proxy
-
-  $ http_proxy=http://localhost:$HGPORT1/ hg -R copy-pull pull -  > --config web.cacerts="$CERTSDIR/pub-other.pem"
-  pulling from https://localhost:$HGPORT/
-  (the full certificate chain may not be available locally; see "hg help debugssl") (windows !)
-  abort: error: *certificate verify failed* (glob)
-  [100]
-  $ http_proxy=http://localhost:$HGPORT1/ hg -R copy-pull pull -  > --config web.cacerts="$CERTSDIR/pub-expired.pem" https://localhost:$HGPORT2/
-  pulling from https://localhost:$HGPORT2/
-  (the full certificate chain may not be available locally; see "hg help debugssl") (windows !)
-  abort: error: *certificate verify failed* (glob)
-  [100]
-
-Test when proxy can't connect to server
-
-  $ http_proxy=http://localhost:$HGPORT1/ hg -R copy-pull pull --insecure https://localhost:0/
-  pulling from https://localhost:0/
-  abort: error: Tunnel connection failed: 404 Connection refused
-  [100]
-
-
-  $ killdaemons.py hg0.pid
-
-  $ cd test
-
-Missing certificate file(s) are detected
-
-  $ hg serve -p $HGPORT --certificate=/missing/certificate -  > --config devel.servercafile=$PRIV --config devel.serverrequirecert=true
-  abort: referenced certificate file (*/missing/certificate) does not exist (glob)
-  [255]
-
-  $ hg serve -p $HGPORT --certificate=$PRIV -  > --config devel.servercafile=/missing/cafile --config devel.serverrequirecert=true
-  abort: referenced certificate file (*/missing/cafile) does not exist (glob)
-  [255]
-
-Start hgweb that requires client certificates:
-
-  $ hg serve -p $HGPORT -d --pid-file=../hg0.pid --certificate=$PRIV -  > --config devel.servercafile=$PRIV --config devel.serverrequirecert=true
-  $ cat ../hg0.pid >> $DAEMON_PIDS
-  $ cd ..
-
-without client certificate:
-
-  $ P="$CERTSDIR" hg id https://localhost:$HGPORT/
-  abort: error: .*(\$ECONNRESET\$|certificate required|handshake failure|EOF occurred).* (re)
-  [100]
-
-with client certificate:
-
-  $ cat << EOT >> $HGRCPATH
-  > [auth]
-  > l.prefix = localhost
-  > l.cert = $CERTSDIR/client-cert.pem
-  > l.key = $CERTSDIR/client-key.pem
-  > EOT
-
-  $ P="$CERTSDIR" hg id https://localhost:$HGPORT/ -  > --config auth.l.key="$CERTSDIR/client-key-decrypted.pem"
-  5fed3813f7f5
-
-  $ printf '1234
' | env P="$CERTSDIR" hg id https://localhost:$HGPORT/ -  > --config ui.interactive=True --config ui.nontty=True
-  passphrase for */client-key.pem: 5fed3813f7f5 (glob)
-
-  $ env P="$CERTSDIR" hg id https://localhost:$HGPORT/
-  abort: error: * (glob)
-  [100]
-
-Missing certficate and key files result in error
-
-  $ hg id https://localhost:$HGPORT/ --config auth.l.cert=/missing/cert
-  abort: certificate file (*/missing/cert) does not exist; cannot connect to localhost (glob)
-  (restore missing file or fix references in Mercurial config)
-  [255]
-
-  $ hg id https://localhost:$HGPORT/ --config auth.l.key=/missing/key
-  abort: certificate file (*/missing/key) does not exist; cannot connect to localhost (glob)
-  (restore missing file or fix references in Mercurial config)
-  [255]

test-patchbomb-tls.t

--- /hgwork/src/tests/test-patchbomb-tls.t
+++ /hgwork/src/tests/test-patchbomb-tls.t.err
@@ -44,9 +44,52 @@
   this patch series consists of 1 patches.
   
   
-  (an attempt was made to load CA certificates but none were loaded; see https://mercurial-scm.org/wiki/SecureConnections for how to configure Mercurial to avoid this error)
-  (?i)abort: .*?certificate.verify.failed.* (re)
-  [255]
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 3.6.13 (default, May  9 2021, 17:21:49) [GCC 8.3.0]
+  ** Mercurial Distributed SCM (version 6.2+hg5.1e12ea7d8435)
+  ** Extensions loaded: patchbomb
+  Traceback (most recent call last):
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/bin/hg", line 59, in <module>
+      dispatch.run()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 143, in run
+      status = dispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 232, in dispatch
+      status = _rundispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 276, in _rundispatch
+      ret = _runcatch(req) or 0
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 451, in _runcatch
+      return _callcatch(ui, _runcatchfunc)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 461, in _callcatch
+      return scmutil.callcatch(ui, func)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/scmutil.py", line 153, in callcatch
+      return func()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 441, in _runcatchfunc
+      return _dispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1255, in _dispatch
+      lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 899, in runcommand
+      ret = _runcommand(ui, options, cmd, d)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1266, in _runcommand
+      return cmdfunc()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1252, in <lambda>
+      d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/util.py", line 1880, in check
+      return func(*args, **kwargs)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/hgext/patchbomb.py", line 990, in email
+      sendmail = mail.connect(ui, mbox=mbox)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/mail.py", line 242, in connect
+      return _smtp(ui)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/mail.py", line 144, in _smtp
+      s.connect(host=mailhost, port=mailport)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/smtplib.py", line 336, in connect
+      self.sock = self._get_socket(host, port, self.timeout)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/mail.py", line 101, in _get_socket
+      serverhostname=self._host,
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/sslutil.py", line 334, in wrapsocket
+      sslcontext.minimum_version = ssl.TLSVersion.TLSv1_1
+  AttributeError: module 'ssl' has no attribute 'TLSVersion'
+  [1]
 #endif
 
 #if defaultcacertsloaded
@@ -70,10 +113,52 @@
   
   (using smtps)
   sending mail: smtp host localhost, port * (glob)
-  (verifying remote certificate)
-  abort: unable to verify security of localhost (no loaded CA certificates); refusing to connect
-  (see https://mercurial-scm.org/wiki/SecureConnections for how to configure Mercurial to avoid this error or set hostsecurity.localhost:fingerprints=sha256:20:de:b3:ad:b4:cd:a5:42:f0:74:41:1c:a2:70:1e:da:6e:c0:5c:16:9e:e7:22:0f:f1:b7:e5:6e:e4:92:af:7e to trust this server)
-  [150]
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 3.6.13 (default, May  9 2021, 17:21:49) [GCC 8.3.0]
+  ** Mercurial Distributed SCM (version 6.2+hg5.1e12ea7d8435)
+  ** Extensions loaded: patchbomb
+  Traceback (most recent call last):
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/bin/hg", line 59, in <module>
+      dispatch.run()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 143, in run
+      status = dispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 232, in dispatch
+      status = _rundispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 276, in _rundispatch
+      ret = _runcatch(req) or 0
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 451, in _runcatch
+      return _callcatch(ui, _runcatchfunc)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 461, in _callcatch
+      return scmutil.callcatch(ui, func)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/scmutil.py", line 153, in callcatch
+      return func()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 441, in _runcatchfunc
+      return _dispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1255, in _dispatch
+      lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 899, in runcommand
+      ret = _runcommand(ui, options, cmd, d)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1266, in _runcommand
+      return cmdfunc()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1252, in <lambda>
+      d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/util.py", line 1880, in check
+      return func(*args, **kwargs)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/hgext/patchbomb.py", line 990, in email
+      sendmail = mail.connect(ui, mbox=mbox)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/mail.py", line 242, in connect
+      return _smtp(ui)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/mail.py", line 144, in _smtp
+      s.connect(host=mailhost, port=mailport)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/smtplib.py", line 336, in connect
+      self.sock = self._get_socket(host, port, self.timeout)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/mail.py", line 101, in _get_socket
+      serverhostname=self._host,
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/sslutil.py", line 334, in wrapsocket
+      sslcontext.minimum_version = ssl.TLSVersion.TLSv1_1
+  AttributeError: module 'ssl' has no attribute 'TLSVersion'
+  [1]
 
 With global certificates:
 
@@ -83,8 +168,52 @@
   
   (using smtps)
   sending mail: smtp host localhost, port * (glob)
-  (verifying remote certificate)
-  sending [PATCH] a ...
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 3.6.13 (default, May  9 2021, 17:21:49) [GCC 8.3.0]
+  ** Mercurial Distributed SCM (version 6.2+hg5.1e12ea7d8435)
+  ** Extensions loaded: patchbomb
+  Traceback (most recent call last):
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/bin/hg", line 59, in <module>
+      dispatch.run()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 143, in run
+      status = dispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 232, in dispatch
+      status = _rundispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 276, in _rundispatch
+      ret = _runcatch(req) or 0
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 451, in _runcatch
+      return _callcatch(ui, _runcatchfunc)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 461, in _callcatch
+      return scmutil.callcatch(ui, func)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/scmutil.py", line 153, in callcatch
+      return func()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 441, in _runcatchfunc
+      return _dispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1255, in _dispatch
+      lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 899, in runcommand
+      ret = _runcommand(ui, options, cmd, d)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1266, in _runcommand
+      return cmdfunc()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1252, in <lambda>
+      d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/util.py", line 1880, in check
+      return func(*args, **kwargs)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/hgext/patchbomb.py", line 990, in email
+      sendmail = mail.connect(ui, mbox=mbox)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/mail.py", line 242, in connect
+      return _smtp(ui)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/mail.py", line 144, in _smtp
+      s.connect(host=mailhost, port=mailport)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/smtplib.py", line 336, in connect
+      self.sock = self._get_socket(host, port, self.timeout)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/mail.py", line 101, in _get_socket
+      serverhostname=self._host,
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/sslutil.py", line 334, in wrapsocket
+      sslcontext.minimum_version = ssl.TLSVersion.TLSv1_1
+  AttributeError: module 'ssl' has no attribute 'TLSVersion'
+  [1]
 
 With invalid certificates:
 
@@ -93,7 +222,51 @@
   
   
   (the full certificate chain may not be available locally; see "hg help debugssl") (windows !)
-  (?i)abort: .*?certificate.verify.failed.* (re)
-  [255]
+  ** unknown exception encountered, please report by visiting
+  ** https://mercurial-scm.org/wiki/BugTracker
+  ** Python 3.6.13 (default, May  9 2021, 17:21:49) [GCC 8.3.0]
+  ** Mercurial Distributed SCM (version 6.2+hg5.1e12ea7d8435)
+  ** Extensions loaded: patchbomb
+  Traceback (most recent call last):
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/bin/hg", line 59, in <module>
+      dispatch.run()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 143, in run
+      status = dispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 232, in dispatch
+      status = _rundispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 276, in _rundispatch
+      ret = _runcatch(req) or 0
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 451, in _runcatch
+      return _callcatch(ui, _runcatchfunc)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 461, in _callcatch
+      return scmutil.callcatch(ui, func)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/scmutil.py", line 153, in callcatch
+      return func()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 441, in _runcatchfunc
+      return _dispatch(req)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1255, in _dispatch
+      lui, repo, cmd, fullargs, ui, options, d, cmdpats, cmdoptions
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 899, in runcommand
+      ret = _runcommand(ui, options, cmd, d)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1266, in _runcommand
+      return cmdfunc()
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/dispatch.py", line 1252, in <lambda>
+      d = lambda: util.checksignature(func)(ui, *args, **strcmdopt)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/util.py", line 1880, in check
+      return func(*args, **kwargs)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/hgext/patchbomb.py", line 990, in email
+      sendmail = mail.connect(ui, mbox=mbox)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/mail.py", line 242, in connect
+      return _smtp(ui)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/mail.py", line 144, in _smtp
+      s.connect(host=mailhost, port=mailport)
+    File "/hgdev/pyenv/versions/3.6.13/lib/python3.6/smtplib.py", line 336, in connect
+      self.sock = self._get_socket(host, port, self.timeout)
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/mail.py", line 101, in _get_socket
+      serverhostname=self._host,
+    File "/hgwork/tmp/hgtests.2aghxdxn/install/lib/python/mercurial/sslutil.py", line 334, in wrapsocket
+      sslcontext.minimum_version = ssl.TLSVersion.TLSv1_1
+  AttributeError: module 'ssl' has no attribute 'TLSVersion'
+  [1]
 
   $ cd ..

Skipped Tests

Long Tests

DurationTest
165.3stest-copies-chain-merge.t#pull-upgrade
165.3stest-copies-chain-merge.t#sidedata
165.2stest-copies-chain-merge.t#push-upgrade
165.2stest-copies-chain-merge.t#push
165.1stest-copies-chain-merge.t#upgraded
165.0stest-copies-chain-merge.t#pull
164.5stest-copies-chain-merge.t#upgraded-parallel
118.0stest-revset.t
114.7stest-copies-chain-merge.t#compatibility
114.5stest-copies-chain-merge.t#changeset
113.8stest-copies-chain-merge.t#filelog
102.5stest-bookmarks-pushpull.t#b2-binary
102.5stest-bookmarks-pushpull.t#b2-pushkey
102.3stest-obsolete-bundle-strip.t
97.0stest-merge-combination-file-content.t
95.1stest-obsolete.t
94.8stest-log.t
93.5stest-subrepo.t
87.9stest-template-functions.t
76.9stest-largefiles.t
75.8stest-mq.t
75.5stest-persistent-nodemap.t
75.2stest-glog-beautifygraph.t
74.7stest-glog.t
74.4stest-fix.t
72.9stest-import.t
70.3stest-obsmarker-template.t
67.3stest-largefiles-misc.t
65.8stest-merge-tools.t
65.8stest-update-branches.t
63.2stest-copies.t#sidedata
63.2stest-copies.t#filelog
63.1stest-bundle2-exchange.t
63.0stest-copies.t#changeset
63.0stest-copies.t#compatibility
59.1stest-shelve.t#phasebased
58.8stest-http-permissions.t
58.5stest-shelve.t#stripbased
57.2stest-revset2.t
57.1stest-commit-amend.t
56.2stest-strip.t
54.9stest-bookmarks.t
54.8stest-rename-merge2.t
54.5stest-shelve2.t#phasebased#abortflag#continuecommand
54.4stest-shelve2.t#phasebased#abortcommand#continueflag
54.4stest-shelve2.t#phasebased#abortcommand#continuecommand
54.2stest-shelve2.t#phasebased#abortflag#continueflag
53.3stest-shelve2.t#stripbased#abortcommand#continuecommand
53.1stest-shelve2.t#stripbased#abortflag#continuecommand
53.1stest-shelve2.t#stripbased#abortflag#continueflag
52.9stest-shelve2.t#stripbased#abortcommand#continueflag
52.8stest-check-pylint.t
52.2stest-rebase-inmemory.t
51.7stest-phases-exchange.t
51.0stest-subrepo-git.t
49.7stest-push-warn.t
48.8stest-template-basic.t
48.6stest-keyword.t
48.6stest-push-race.t#strict
48.3stest-push-race.t#unrelated
48.0stest-lfs.t
47.7stest-obsolete-divergent.t
47.6stest-clone.t
47.2stest-clone-stream-format.t#stream-legacy
47.0stest-template-keywords.t
46.6stest-mv-cp-st-diff.t
46.5stest-run-tests.t
46.4stest-narrow.t#tree#lfs-on
46.1stest-narrow.t#flat#lfs-on
45.4stest-mq-subrepo.t
45.4stest-largefiles-update.t
45.1stest-merge-force.t
45.1stest-grep.t
44.5stest-merge-combination-exec-bytes.t
44.3stest-merge-changedelete.t#old
44.2stest-transplant.t#continueflag
44.2stest-merge-changedelete.t#newfilenode
44.2stest-annotate.t
44.1stest-clone-stream-format.t#stream-bundle2
44.0stest-copytrace-heuristics.t
43.8stest-transplant.t#commandmode
43.7stest-mq-header-date.t
43.5stest-tags.t
43.0stest-mq-header-from.t
42.5stest-revert.t
42.5stest-narrow.t#tree#lfs-off
42.3stest-narrow.t#flat#lfs-off
42.1stest-bisect.t
42.0stest-convert-filemap.t
40.8stest-fileset.t
40.3stest-branches.t
39.9stest-template-map.t
36.4stest-censor.t#revlogv2
36.0stest-rebase-scenario-global.t
36.0stest-init.t
35.9stest-uncommit.t
35.8stest-backout.t
35.7stest-resolve.t
35.4stest-upgrade-repo.t
35.1stest-amend.t#obsstore-on
34.9stest-graft.t
34.8stest-status.t#dirstate-v2
34.7stest-phabricator.t
34.6stest-tag.t
34.6stest-treemanifest.t
34.1stest-phases.t
33.9stest-contrib-perf.t
33.7stest-status.t#dirstate-v1
33.3stest-remotefilelog-repack.t
33.1stest-subrepo-deep-nested-change.t
32.9stest-treediscovery.t
32.8stest-censor.t#revlogv1
32.7stest-copies-unrelated.t#compatibility
32.6stest-copies-unrelated.t#sidedata
32.6stest-copies-unrelated.t#changeset
32.5stest-copies-unrelated.t#filelog
32.1stest-hook.t
32.0stest-graft-interrupted.t#abortcommand
31.7stest-graft-interrupted.t#abortflag
31.4stest-commit-interactive.t
30.7stest-remotefilelog-prefetch.t
30.7stest-bisect2.t
30.2stest-mq-guards.t
29.7stest-commit.t
29.6stest-merge-criss-cross.t#newfilenode
29.6stest-lfs-serve.t#lfsremote-on
29.5stest-bundle.t
29.5stest-remotefilelog-repack-fast.t
29.4stest-merge-criss-cross.t#old
28.8stest-ssh.t
28.7stest-absorb.t
28.1stest-rename.t
28.0stest-check-code.t
27.9stest-histedit-fold.t
27.7stest-rebase-collapse.t
27.6stest-check-pyflakes.t
27.2stest-narrow-clone.t
27.2stest-narrow-widen-no-ellipsis.t#tree
27.2stest-help.t
27.1stest-narrow-widen-no-ellipsis.t#flat
26.9stest-alias.t
26.8stest-ssh-bundle1.t
26.8stest-narrow-widen.t#tree
26.6stest-hgwebdir.t
26.5stest-clone-stream.t#stream-bundle2
26.5stest-archive.t
26.5stest-narrow-widen.t#flat
26.5stest-split.t#obsstore-on
26.4stest-newbranch.t
26.3stest-convert-cvs-detectmerge.t
26.1stest-extension.t
26.1stest-amend.t#obsstore-off
26.0stest-setdiscovery.t
25.9stest-rebase-abort.t#abortcommand#continueflag
25.9stest-histedit-obsolete.t#abortcommand
25.7stest-rebase-abort.t#abortcommand#continuecommand
25.7stest-rebase-abort.t#abortflag#continuecommand
25.7stest-rebase-abort.t#abortflag#continueflag
25.7stest-fastannotate-hg.t
25.6stest-histedit-obsolete.t#abortflag
25.5stest-largefiles-wireproto.t
25.4stest-show-work.t
25.4stest-fetch.t
25.3stest-subrepo-svn.t
25.2stest-merge-no-file-change.t
25.2stest-automv.t
25.1stest-obshistory.t
24.9stest-mq-qpush-fail.t
24.7stest-acl.t
24.6stest-convert-cvs.t
24.6stest-histedit-arguments.t#abortcommand
24.6stest-histedit-arguments.t#abortflag
24.3stest-eol.t
23.9stest-split.t#obsstore-off
23.7stest-unamend.t
23.7stest-commandserver.t
23.6stest-bheads.t
23.6stest-convert-hg-sink.t
23.4stest-clone-stream.t#stream-legacy
23.3stest-obsolete-distributed.t
23.2stest-narrow-clone-no-ellipsis.t
22.9stest-http-bad-server.t
22.9stest-issue3084.t
22.9stest-convert-git.t
22.4stest-bookflow.t
22.4stest-narrow-share.t#flat#normal
22.2stest-ssh-proto.t
22.0stest-patchbomb.t
21.9stest-copy.t
21.7stest-narrow-share.t#flat#safe
21.6stest-narrow-share.t#tree#normal
21.6stest-rebase-obsolete.t
21.5stest-branch-change.t
21.4stest-rebase-cache.t
21.3stest-import-git.t
21.2stest-git-export.t
21.2stest-narrow-share.t#tree#safe
21.2stest-fix-topology.t#obsstore-on
21.0stest-convert-cvs-synthetic.t
20.9stest-convert-svn-sink.t
20.9stest-narrow-clone-stream.t#flat-fncache
20.8stest-narrow-shallow-merges.t
20.8stest-remotefilelog-bgprefetch.t
20.7stest-narrow-clone-stream.t#tree
20.7stest-narrow-clone-stream.t#flat-nofncache
20.7stest-mq-qpush-exact.t
20.6stest-remotefilelog-local.t
20.4stest-debugcommands.t
20.3stest-remove.t
20.3stest-audit-subrepo.t
20.2stest-rebase-obsolete4.t
20.2stest-rebase-parameters.t
20.2stest-merge1.t
20.2stest-mq-qnew.t
20.1stest-sparse.t

Timeline

test-contrib-check-code.t (1.69s)test-contrib-perf.t (33.88s)test-obsolete-checkheads.t (14.62s)test-obsolete-check-push.t (6.90s)test-run-tests.t (46.48s)test-contrib-check-commit.t (0.14s)test-push-race.t#strict (48.55s)test-push-race.t#unrelated (48.25s)test-imports-checker.t (0.93s)test-rebase-check-restore.t (8.10s)test-check-code.t (27.95s)test-check-pytype.t (0.23s)test-push-checkheads-unpushed-D4.t (6.62s)test-push-checkheads-unpushed-D3.t (6.42s)test-push-checkheads-unpushed-D5.t (6.47s)test-push-checkheads-pruned-B8.t (7.18s)test-push-checkheads-superceed-A6.t (6.33s)test-push-checkheads-superceed-A7.t (6.25s)test-largefiles-update.t (45.37s)test-push-checkheads-multibranches-E2.t (6.16s)test-push-checkheads-unpushed-D7.t (6.55s)test-push-checkheads-unpushed-D2.t (5.44s)test-push-checkheads-pruned-B5.t (5.64s)test-merge-combination-file-content.t (96.96s)test-push-checkheads-multibranches-E3.t (5.13s)test-push-checkheads-superceed-A3.t (5.58s)test-push-checkheads-superceed-A2.t (5.42s)test-push-checkheads-multibranches-E1.t (4.79s)test-push-checkheads-pruned-B2.t (4.83s)test-push-checkheads-pruned-B3.t (4.73s)test-push-checkheads-pruned-B4.t (4.60s)test-push-checkheads-unpushed-D6.t (5.27s)test-push-checkheads-partial-C2.t (4.22s)test-push-checkheads-partial-C1.t (4.23s)test-push-checkheads-superceed-A8.t (4.95s)test-push-checkheads-partial-C4.t (3.94s)test-push-checkheads-pruned-B6.t (4.54s)test-push-checkheads-pruned-B7.t (4.57s)test-merge-combination-exec-bytes.t (44.49s)test-push-checkheads-partial-C3.t (3.84s)test-push-checkheads-unpushed-D1.t (3.99s)test-subrepo-svn.t (25.33s)test-push-checkheads-superceed-A4.t (3.77s)test-push-checkheads-superceed-A5.t (3.80s)test-merge-combination-misc.t (4.93s)test-check-module-imports.t (12.29s)test-push-checkheads-pruned-B1.t (3.22s)test-push-checkheads-superceed-A1.t (3.51s)test-copytrace-heuristics.t (43.98s)test-check-config.t (9.67s)test-glog-beautifygraph.t (75.19s)test-gendoc-ja.t (3.43s)test-convert-cvs.t (24.64s)test-check-pyflakes.t (27.57s)test-check-py3-compat.t (0.09s)test-help.t (27.18s)test-copies-chain-merge.t#changeset (114.47s)test-copies-chain-merge.t#compatibility (114.75s)test-copies-chain-merge.t#filelog (113.77s)test-copies-chain-merge.t#pull (165.04s)test-copies-chain-merge.t#pull-upgrade (165.30s)test-copies-chain-merge.t#push (165.15s)test-copies-chain-merge.t#push-upgrade (165.24s)test-copies-chain-merge.t#sidedata (165.26s)test-copies-chain-merge.t#upgraded (165.13s)test-copies-chain-merge.t#upgraded-parallel (164.48s)test-obsolete-bounds-checking.t (0.95s)test-convert-svn-sink.t (20.88s)test-gendoc.t (5.18s)test-glog.t (74.73s)test-patchbomb.t (22.01s)test-obsolete-bundle-strip.t (102.35s)test-convert-svn-encoding.t (0.10s)test-obsmarker-template.t (70.33s)test-check-help.t (8.40s)test-convert-svn-source.t (0.10s)test-abort-checkin.t (0.88s)test-acl.t (24.74s)test-upgrade-repo.t (35.35s)test-check-shbang.t (2.07s)test-check-encoding.t (0.68s)test-check-commit.t (0.54s)test-convert-svn-move.t (0.10s)test-hgweb-commands.t (19.37s)test-http-bad-server.t (22.93s)test-check-interfaces.py (0.47s)test-obsolete.t (95.13s)test-log.t (94.75s)test-extension.t (26.11s)test-dirstate-race.t#dirstate-v1 (15.51s)test-dirstate-race.t#dirstate-v2 (15.62s)test-hgweb-symrev.t (17.80s)test-check-execute.t (1.34s)test-check-pylint.t (52.82s)test-setdiscovery.t (25.97s)test-hgweb-filelog.t (9.17s)test-template-map.t (39.92s)test-hgwebdir.t (26.61s)test-revset.t (118.05s)test-bundle2-format.t (10.40s)test-convert-cvs-detectmerge.t (26.29s)test-subrepo.t (93.49s)test-hgweb-json.t (10.93s)test-largefiles.t (76.89s)test-merge-tools.t (65.82s)test-fix.t (74.41s)test-convert-cvs-synthetic.t (21.04s)test-gendoc-ro.t (2.98s)test-import.t (72.90s)test-ssh-proto-unbundle.t (11.28s)test-branches.t (40.35s)test-bookmarks-pushpull.t#b2-binary (102.51s)test-bookmarks-pushpull.t#b2-pushkey (102.50s)test-subrepo-deep-nested-change.t (33.07s)test-bundle2-exchange.t (63.08s)test-phases-exchange.t (51.75s)test-strip.t (56.17s)test-template-functions.t (87.91s)test-persistent-nodemap.t (75.54s)test-lfs.t (48.02s)test-convert-cvsnt-mergepoints.t (12.47s)test-commit-interactive.t (31.43s)test-merge-changedelete.t#newfilenode (44.22s)test-merge-changedelete.t#old (44.34s)test-hook.t (32.10s)test-ssh-proto.t (22.21s)test-grep.t (45.09s)test-highlight.t (12.11s)test-commandserver.t (23.73s)test-lfs-test-server.t#git-server (0.23s)test-lfs-test-server.t#hg-server (11.07s)test-http-permissions.t (58.75s)test-convert-git.t (22.86s)test-phabricator.t (34.67s)test-shelve.t#phasebased (59.12s)test-shelve.t#stripbased (58.54s)test-check-cargo-lock.t (0.09s)test-bookmarks.t (54.86s)test-merge-force.t (45.12s)test-clone.t (47.61s)test-check-clang-format.t (1.80s)test-convert-cvs-branch.t (19.18s)test-revset2.t (57.20s)test-largefiles-misc.t (67.32s)test-commit-amend.t (57.07s)test-hgweb-diffs.t (11.78s)test-check-rust-format.t (0.08s)test-template-keywords.t (47.04s)test-tags.t (43.50s)test-keyword.t (48.64s)test-revert.t (42.50s)test-generaldelta.t (13.48s)test-merge-criss-cross.t#newfilenode (29.59s)test-merge-criss-cross.t#old (29.39s)test-convert-svn-branches.t (0.10s)test-mq.t (75.75s)test-convert-hg-svn.t (0.10s)test-gendoc-de.t (3.15s)test-rename-merge2.t (54.78s)test-lfs-serve-access.t (11.76s)test-subrepo-git.t (50.98s)test-clone-stream.t#stream-bundle2 (26.52s)test-clone-stream.t#stream-legacy (23.38s)test-phases.t (34.05s)test-bundle.t (29.47s)test-check-format.t (0.65s)test-split.t#obsstore-off (23.90s)test-split.t#obsstore-on (26.45s)test-lfs-serve.t#lfsremote-off (11.08s)test-lfs-serve.t#lfsremote-on (29.56s)test-transplant.t#commandmode (43.82s)test-transplant.t#continueflag (44.24s)test-dirstate-race2.t#dirstate-v1 (5.84s)test-dirstate-race2.t#dirstate-v2 (5.89s)test-treemanifest.t (34.56s)test-https.t (4.58s)test-notify.t (11.43s)test-http-protocol.t (10.86s)test-template-basic.t (48.84s)test-convert.t (8.11s)test-tag.t (34.57s)test-hgweb.t (13.34s)test-http.t (19.62s)test-check-jshint.t (0.25s)test-shelve2.t#phasebased#abortcommand#continuecommand (54.36s)test-shelve2.t#phasebased#abortcommand#continueflag (54.42s)test-shelve2.t#phasebased#abortflag#continuecommand (54.49s)test-shelve2.t#phasebased#abortflag#continueflag (54.22s)test-shelve2.t#stripbased#abortcommand#continuecommand (53.33s)test-shelve2.t#stripbased#abortcommand#continueflag (52.92s)test-shelve2.t#stripbased#abortflag#continuecommand (53.09s)test-shelve2.t#stripbased#abortflag#continueflag (53.08s)test-clonebundles.t (19.88s)test-obsolete-distributed.t (23.26s)test-rebase-inmemory.t (52.20s)test-subrepo-recursion.t (18.04s)test-convert-filemap.t (41.99s)test-obsolete-divergent.t (47.66s)test-annotate.t (44.19s)test-graft.t (34.91s)test-bisect.t (42.09s)test-encoding-textwrap.t (2.15s)test-walk.t (18.47s)test-mv-cp-st-diff.t (46.56s)test-resolve.t (35.71s)test-convert-p4-filetypes.t (0.09s)test-debugcommands.t (20.37s)test-ssh.t (28.82s)test-devel-warnings.t (5.26s)test-rebase-scenario-global.t (36.03s)test-commit.t (29.70s)test-bundle2-remote-changegroup.t (16.75s)test-import-git.t (21.32s)test-mq-header-from.t (42.98s)test-bisect2.t (30.66s)test-i18n.t (3.67s)test-archive.t (26.51s)test-issue6528.t (18.66s)test-treediscovery.t (32.88s)test-rebase-obsolete.t (21.56s)test-exchange-multi-source.t (17.79s)test-fileset.t (40.80s)test-share-safe.t (19.41s)test-push-warn.t (49.70s)test-hgweb-annotate-whitespace.t (4.57s)test-log-linerange.t (11.19s)test-graft-interrupted.t#abortcommand (32.02s)test-graft-interrupted.t#abortflag (31.69s)test-remotefilelog-repack.t (33.33s)test-remove.t (20.31s)test-update-branches.t (65.75s)test-backout.t (35.76s)test-graft-rename.t (19.54s)test-blackbox.t (11.97s)test-status.t#dirstate-v1 (33.70s)test-status.t#dirstate-v2 (34.78s)test-alias.t (26.95s)test-mq-header-date.t (43.68s)test-amend.t#obsstore-off (26.06s)test-amend.t#obsstore-on (35.08s)test-pull-pull-corruption.t (15.02s)test-progress.t (4.32s)test-convert-svn-startrev.t (0.11s)test-ssh-bundle1.t (26.81s)test-narrow.t#flat#lfs-off (42.34s)test-narrow.t#flat#lfs-on (46.11s)test-narrow.t#tree#lfs-off (42.49s)test-narrow.t#tree#lfs-on (46.41s)test-censor.t#revlogv1 (32.84s)test-censor.t#revlogv2 (36.40s)test-copies.t#changeset (63.05s)test-copies.t#compatibility (63.03s)test-copies.t#filelog (63.18s)test-copies.t#sidedata (63.22s)test-push-http.t#bundle1 (16.58s)test-push-http.t#bundle2 (16.78s)test-contrib-relnotes.t (1.28s)test-histedit-obsolete.t#abortcommand (25.86s)test-histedit-obsolete.t#abortflag (25.62s)test-audit-subrepo.t (20.30s)test-globalopts.t (11.07s)test-histedit-arguments.t#abortcommand (24.60s)test-histedit-arguments.t#abortflag (24.59s)test-http-bundle1.t (17.08s)test-rebase-collapse.t (27.71s)test-extdiff.t (17.76s)test-wireproto.t (8.62s)test-hgweb-descend-empties.t (2.04s)test-obshistory.t (25.15s)test-fncache.t (10.59s)test-uncommit.t (35.87s)test-rename.t (28.07s)test-mq-subrepo.t (45.40s)test-rebase-obsolete3.t (19.49s)test-fastannotate-hg.t (25.71s)test-histedit-fold.t (27.93s)test-histedit-commute.t (13.71s)test-chg.t (0.09s)test-remotefilelog-repack-fast.t (29.46s)test-getbundle.t (5.09s)test-status-color.t (16.06s)test-install.t (2.32s)test-convert-hg-sink.t (23.58s)test-largefiles-wireproto.t (25.50s)test-clone-stream-format.t#stream-bundle2 (44.06s)test-clone-stream-format.t#stream-legacy (47.23s)test-logexchange.t (15.40s)test-sidedata-exchange.t (18.63s)test-absorb.t (28.73s)test-merge-types.t (12.26s)test-histedit-edit.t (19.86s)test-lfconvert.t (15.67s)test-paths.t (18.98s)test-remotefilelog-bgprefetch.t (20.75s)test-fetch.t (25.36s)test-rebase-named-branches.t (19.20s)test-incoming-outgoing.t (13.02s)test-manifest.t (15.60s)test-rebase-conflicts.t (14.78s)test-rollback.t (18.86s)test-clone-pull-corruption.t (7.97s)test-eol.t (24.34s)test-fix-topology.t#obsstore-off (11.39s)test-fix-topology.t#obsstore-on (21.17s)test-newbranch.t (26.43s)test-bundle2-multiple-changegroups.t (7.21s)test-config.t (12.34s)test-git-export.t (21.20s)test-infinitepush-ci.t (12.48s)test-rebase-interruptions.t (19.30s)test-fastexport.t (3.26s)test-rebase-obsolete4.t (20.24s)test-diff-color.t (6.39s)test-lfs-largefiles.t (11.52s)test-hgweb-empty.t (1.79s)test-completion.t (5.23s)test-infinitepush-bundlestore.t (18.90s)test-copies-in-changeset.t#extra (16.83s)test-copies-in-changeset.t#sidedata (18.85s)test-rebase-abort.t#abortcommand#continuecommand (25.75s)test-rebase-abort.t#abortcommand#continueflag (25.93s)test-rebase-abort.t#abortflag#continuecommand (25.74s)test-rebase-abort.t#abortflag#continueflag (25.72s)test-pager.t (11.59s)test-merge1.t (20.16s)test-push.t (16.56s)test-convert-mtn.t (0.09s)test-hardlinks.t (12.49s)test-hghave.t (9.53s)test-single-head.t (14.82s)test-narrow-shallow-merges.t (20.82s)test-mq-guards.t (30.21s)test-convert-svn-tags.t (0.10s)test-qrecord.t (5.50s)test-mq-subrepo-svn.t (1.87s)test-rebase-parameters.t (20.23s)test-revset-legacy-lookup.t (17.68s)test-copies-unrelated.t#changeset (32.55s)test-copies-unrelated.t#compatibility (32.72s)test-copies-unrelated.t#filelog (32.47s)test-copies-unrelated.t#sidedata (32.58s)test-git-interop.t (0.09s)test-rhg.t (0.07s)test-branch-change.t (21.51s)test-export.t (11.70s)test-issue3084.t (22.87s)test-narrow-patterns.t (14.79s)test-merge-no-file-change.t (25.22s)test-verify.t (8.08s)test-bundle-r.t (19.81s)test-rebase-rename.t (17.47s)test-copy.t (21.89s)test-narrow-widen-no-ellipsis.t#flat (27.12s)test-narrow-widen-no-ellipsis.t#tree (27.18s)test-mq-qpush-fail.t (24.89s)test-commit-interactive-curses.t (13.16s)test-rebase-dest.t (19.51s)test-rebase-pull.t (16.56s)test-exchange-obsmarkers-case-A1.t (15.74s)test-hgignore.t#dirstate-v1 (9.19s)test-hgignore.t#dirstate-v2 (9.48s)test-revert-interactive.t (11.77s)test-sparse.t (20.09s)test-rebase-newancestor.t (18.58s)test-import-bypass.t (15.62s)test-help-hide.t (0.39s)test-parse-date.t (18.34s)test-treediscovery-legacy.t (19.60s)test-narrow-widen.t#flat (26.49s)test-narrow-widen.t#tree (26.76s)test-rebase-cache.t (21.41s)test-journal.t (6.16s)test-unamend.t (23.75s)test-releasenotes-formatting.t (11.21s)test-merge-exec.t (15.89s)test-share-bookmarks.t#svfs#normal (12.26s)test-share-bookmarks.t#svfs#safe (12.15s)test-share-bookmarks.t#vfs#normal (12.30s)test-share-bookmarks.t#vfs#safe (12.39s)test-mq-qrefresh.t (16.34s)test-githelp.t (14.37s)test-histedit-fold-non-commute.t (13.96s)test-gendoc-pt_BR.t (3.20s)test-gendoc-zh_CN.t (3.07s)test-gendoc-zh_TW.t (3.11s)test-histedit-non-commute.t (13.87s)test-static-http.t (10.05s)test-exchange-obsmarkers-case-A3.t (16.55s)test-merge-partial-tool.t (8.43s)test-mq-qrefresh-interactive.t (3.61s)test-conflict.t (8.68s)test-diff-unified.t (9.12s)test-rebase-obsolete2.t (16.92s)test-remotefilelog-prefetch.t (30.69s)test-mq-qnew.t (20.16s)test-win32text.t (9.64s)test-flagprocessor.t (15.68s)test-exchange-obsmarkers-case-C3.t (10.62s)test-gendoc-it.t (3.12s)test-gendoc-el.t (3.15s)test-gendoc-fr.t (3.12s)test-gendoc-ru.t (3.19s)test-gendoc-sv.t (3.06s)test-gendoc-da.t (3.10s)test-hgrc.t (11.92s)test-bheads.t (23.62s)test-diff-ignore-whitespace.t (11.89s)test-init.t (35.95s)test-rename-dir-merge.t (13.56s)test-bookflow.t (22.43s)test-largefiles-cache.t (12.59s)test-encoding.t (6.28s)test-mq-qrefresh-replace-log-message.t (11.59s)test-convert-bzr-merges.t (0.10s)test-url-rev.t (12.57s)test-mq-qimport.t (16.96s)test-diff-change.t (12.98s)test-share.t#normal (11.16s)test-share.t#safe (11.20s)test-parseindex.t (3.94s)test-pager-legacy.t (8.16s)test-clone-r.t (10.89s)test-histedit-base.t (7.05s)test-hgweb-raw.t (3.55s)test-rebase-base-flag.t (13.31s)test-bad-extension.t (1.77s)test-rebase-mq.t (15.73s)test-removeemptydirs.t (11.10s)test-exchange-obsmarkers-case-D1.t (9.93s)test-hgweb-removed.t (1.82s)test-eol-patch.t (6.33s)test-automv.t (25.18s)test-exchange-obsmarkers-case-C2.t (9.71s)test-sparse-revlog.t (0.09s)test-bundle-type.t (14.37s)test-pull-bundle.t (8.23s)test-casecollision-merge.t (0.08s)test-subrepo-relative-path.t (9.28s)test-http-proxy.t (4.01s)test-http-clone-r.t (9.89s)test-histedit-no-change.t (10.07s)test-convert-bzr.t (0.08s)test-pull-update.t (12.69s)test-narrow-clone.t (27.20s)test-strip-cross.t (16.41s)test-template-graph.t (12.97s)test-add.t (16.61s)test-ssh-clone-r.t (11.09s)test-purge.t#dirstate-v1 (11.85s)test-purge.t#dirstate-v2 (12.01s)test-diffstat.t (10.90s)test-bookmarks-corner-case.t (7.94s)test-convert-splicemap.t (10.23s)test-fileset-generated.t (5.80s)test-bundle-phases.t (14.43s)test-transaction-safety.t#changelogv2 (7.60s)test-transaction-safety.t#revlogv1 (9.47s)test-transaction-safety.t#revlogv2 (7.53s)test-exchange-obsmarkers-case-C1.t (9.28s)test-status-rev.t (5.80s)test-diff-upgrade.t (3.96s)test-churn.t (10.07s)test-bisect3.t (8.18s)test-stream-bundle-v2.t (4.06s)test-narrow-exchange.t#lfs-off (9.63s)test-narrow-exchange.t#lfs-on (10.21s)test-dispatch.t (8.59s)test-repo-compengines.t (9.68s)test-exchange-obsmarkers-case-D4.t (8.26s)test-eol-update.t (5.80s)test-remotefilelog-push-pull.t (15.78s)test-narrow-exchange-merges.t (9.68s)test-narrow-trackedcmd.t#flat (8.45s)test-narrow-trackedcmd.t#tree (8.55s)test-absorb-rename.t (11.62s)test-obsolete-changeset-exchange.t (6.96s)test-rename-merge1.t (14.13s)test-exchange-obsmarkers-case-B5.t (9.43s)test-status-tracked-key.t (9.16s)test-copy-move-merge.t (8.40s)test-pull-branch.t (11.50s)test-eol-hook.t (7.70s)test-sparse-profiles.t (9.13s)test-remotefilelog-linknodes.t (13.72s)test-byteify-strings.t (0.08s)test-rebase-detach.t (12.04s)test-mq-qpush-exact.t (20.66s)test-basic.t (7.75s)test-notify-changegroup.t (4.38s)test-convert-hg-source.t (11.69s)test-hybridencode.py (0.24s)test-fastannotate-protocol.t (8.05s)test-rebase-bookmarks.t (14.04s)test-infinitepush.t (13.83s)test-bookmarks-current.t (14.20s)test-encoding-align.t (4.79s)test-debugbuilddag.t (5.55s)test-up-local-change.t (11.09s)test-inherit-mode.t (1.79s)test-transaction-rollback-on-revlog-split.t (5.00s)test-convert-baz.t (0.09s)test-releasenotes-merging.t (5.58s)test-convert-hg-startrev.t (9.02s)test-narrow-expanddirstate.t (4.86s)test-show-work.t (25.38s)test-symlinks.t#dirstate-v1 (10.49s)test-symlinks.t#dirstate-v2 (10.52s)test-narrow-strip.t#flat#lfs-off (6.37s)test-narrow-strip.t#flat#lfs-on (6.94s)test-narrow-strip.t#tree#lfs-off (6.36s)test-narrow-strip.t#tree#lfs-on (6.84s)test-merge-commit.t (6.71s)test-audit-path.t (11.48s)test-exchange-obsmarkers-case-B4.t (9.68s)test-fastannotate.t (9.87s)test-narrow-share.t#flat#normal (22.41s)test-narrow-share.t#flat#safe (21.72s)test-narrow-share.t#tree#normal (21.59s)test-narrow-share.t#tree#safe (21.20s)test-pathconflicts-merge.t (10.34s)test-remotefilelog-gcrepack.t (5.74s)test-remotefilelog-local.t (20.57s)test-dirstate.t#dirstate-v1 (3.42s)test-dirstate.t#dirstate-v2 (8.15s)test-exchange-obsmarkers-case-C4.t (7.95s)test-mq-safety.t (18.58s)test-profile.t (18.29s)test-directaccess.t (8.14s)test-exchange-obsmarkers-case-A6.t (8.63s)test-exchange-obsmarkers-case-A5.t (7.71s)test-obsolete-tag-cache.t (4.08s)test-histedit-bookmark-motion.t (5.85s)test-histedit-non-commute-abort.t (6.33s)test-hgweb-csp.t (4.97s)test-merge-default.t (7.55s)test-log-bookmark.t (16.51s)test-mq-qfold.t (16.26s)test-diff-binary-file.t (5.38s)test-journal-share.t#normal (5.25s)test-journal-share.t#safe (5.30s)test-merge-halt.t (14.35s)test-casefolding.t (0.07s)test-mq-git.t (5.31s)test-patchbomb-bookmark.t (3.22s)test-stack.t (13.51s)test-default-push.t (13.27s)test-sparse-merges.t (12.84s)test-remotefilelog-cacheprocess.t (3.56s)test-pull-r.t (11.82s)test-contrib-testparseutil.t (0.28s)test-hgweb-no-request-uri.t (1.16s)test-releasenotes-parsing.t (2.03s)test-rebase-emptycommit.t (11.00s)test-narrow-merge-outside.t (10.88s)test-diff-indent-heuristic.t#bdiff (0.61s)test-diff-indent-heuristic.t#xdiff (0.83s)test-import-merge.t (10.40s)test-drawdag.t (10.10s)test-exchange-obsmarkers-case-B2.t (10.29s)test-convert-bzr-directories.t (0.08s)test-convert-p4.t (0.09s)test-show-stack.t (10.00s)test-match.py (0.20s)test-narrow-clone-nonlinear.t (13.49s)test-mq-eol.t (9.69s)test-state-extension.t (9.62s)test-exchange-obsmarkers-case-A4.t (9.62s)test-obsmarkers-effectflag.t (9.42s)test-fastannotate-renames.t (9.15s)test-histedit-outgoing.t (9.26s)test-histedit-drop.t (8.98s)test-bookmarks-merge.t (8.92s)test-lock-badness.t (9.56s)test-repair-strip.t (13.72s)test-rebase-mq-skip.t#continuecommand (9.95s)test-rebase-mq-skip.t#continueflag (10.12s)test-sidedata.t (3.83s)test-extension-timing.t (0.86s)test-rebase-templates.t (5.16s)test-exchange-obsmarkers-case-B6.t (7.26s)test-cbor.py (0.60s)test-narrow-merge.t#flat (9.37s)test-narrow-merge.t#tree (7.18s)test-debugbundle.t (2.57s)test-convert-tla.t (1.42s)test-mq-qclone-http.t (8.82s)test-exchange-obsmarkers-case-A2.t (6.23s)test-exchange-obsmarkers-case-D2.t (6.84s)test-status-terse.t (6.57s)test-subrepo-missing.t (6.54s)test-phase-archived.t (3.92s)test-pathconflicts-update.t (8.65s)test-hgweb-no-path-info.t (1.17s)test-show.t (5.22s)test-addremove-similar.t (5.98s)test-contrib.t (1.27s)test-worker.t (2.36s)test-merge7.t (3.35s)test-merge-subrepos.t (7.28s)test-flags.t (4.90s)test-pull-network.t (5.51s)test-unionrepo.t (7.75s)test-remotefilelog-gc.t (5.43s)test-commit-multiple.t (5.98s)test-commit-unresolved.t#abortcommand (8.02s)test-commit-unresolved.t#abortflag (7.77s)test-import-eol.t (8.18s)test-sparse-import.t (4.70s)test-narrow-clone-no-ellipsis.t (23.22s)test-amend-subrepo.t#obsstore-off (8.73s)test-amend-subrepo.t#obsstore-on (8.74s)test-logtoprocess.t (3.14s)test-rebase-transaction.t#continuecommand (5.51s)test-rebase-transaction.t#continueflag (5.59s)test-identify.t (9.71s)test-simple-update.t (7.16s)test-narrow-pull.t (15.32s)test-filebranch.t (3.93s)test-mq-missingfiles.t (7.34s)test-convert-datesort.t (7.20s)test-mq-qdelete.t (12.24s)test-pending.t (6.70s)test-clone-update-order.t (4.77s)test-fastannotate-perfhack.t (7.38s)test-origbackup-conflict.t (4.82s)test-mq-merge.t (7.83s)test-update-atomic.t (3.39s)test-racy-mutations.t#fail-if-detected (1.72s)test-racy-mutations.t#skip-detection (1.52s)test-merge-local.t (5.56s)test-hooklib-changeset_obsoleted.t (3.22s)test-remotefilelog-http.t (5.35s)test-repo-filters-tiptoe.t (3.45s)test-sqlitestore.t (3.15s)test-exchange-obsmarkers-case-D3.t (7.45s)test-remote-hidden.t (4.99s)test-rebuildstate.t (7.14s)test-revlog.t (2.24s)test-bugzilla.t (1.98s)test-revlog-v2.t (3.59s)test-rename-rev.t (7.76s)test-mac-packages.t (0.08s)test-branch-option.t (8.30s)test-empty-group.t (4.14s)test-narrow-shallow.t (15.31s)test-parents.t (5.51s)test-fix-metadata.t (0.63s)test-serve.t (5.40s)test-http-branchmap.t (3.50s)test-single-head-obsolescence-named-branch-A3.t (6.69s)test-children.t (5.72s)test-remotefilelog-clone.t (5.68s)test-remotefilelog-sparse.t (11.73s)test-remotefilelog-corrupt-cache.t (4.60s)test-run-tests.py (0.15s)test-single-head-obsolescence-named-branch-A4.t (5.59s)test-extdata.t (6.23s)test-remotefilelog-clone-tree.t (5.68s)test-narrow-commit.t#flat (9.05s)test-narrow-commit.t#tree (9.36s)test-mq-pull-from-bundle.t (6.54s)test-exchange-obsmarkers-case-B3.t (6.55s)test-issue672.t (3.07s)test-merge-internal-tools-pattern.t (4.67s)test-rhg-sparse-narrow.t (0.08s)test-extensions-afterloaded.t (3.88s)test-lfs-bundle.t (5.36s)test-wireproto-serverreactor.py (0.24s)test-single-head-obsolescence-named-branch-A1.t (6.20s)test-eol-clone.t (2.52s)test-tools.t (0.94s)test-fastannotate-corrupt.t (3.58s)test-excessive-merge.t (4.05s)test-single-head-obsolescence-named-branch-A2.t (5.17s)test-single-head-obsolescence-named-branch-A5.t (4.66s)test-mq-qqueue.t (8.89s)test-narrow-rebase.t#continuecommand (6.56s)test-narrow-rebase.t#continueflag (6.71s)test-push-cgi.t (1.61s)test-record.t (1.02s)test-relink.t (2.58s)test-convert-darcs.t (4.11s)test-transaction-rollback-on-sigpipe.t (2.22s)test-bundle2-pushback.t (3.37s)test-hgweb-non-interactive.t (0.95s)test-remotefilelog-log.t (6.05s)test-rebase-backup.t (5.01s)test-patch.t (3.19s)test-cache-abuse.t (13.51s)test-arbitraryfilectx.t (1.77s)test-pathconflicts-basic.t (5.84s)test-hooklib-changeset_published.t (1.80s)test-committer.t (4.20s)test-exchange-obsmarkers-case-B7.t (6.48s)test-patchbomb-tls.t (2.74s)test-remotefilelog-bundle2-legacy.t (0.53s)test-pull-http.t (3.30s)test-exchange-obsmarkers-case-B1.t (6.45s)test-rename-after-merge.t (6.19s)test-remotefilelog-bundles.t (4.95s)test-requires.t (3.59s)test-bookmarks-rebase.t (5.11s)test-mq-qdiff.t (6.05s)test-remotefilelog-bundle2.t (6.79s)test-exchange-obsmarkers-case-A7.t (5.72s)test-revset-outgoing.t (4.15s)test-import-context.t (1.67s)test-eol-add.t (3.00s)test-bundle-vs-outgoing.t (4.42s)test-rebase-partial.t (4.16s)test-update-names.t (5.65s)test-nointerrupt.t (1.82s)test-hooklib-reject_merge_commits.t (1.67s)test-mailmap.t (3.60s)test-rank.t (2.96s)test-merge-remove.t (5.22s)test-convert-tagsbranch-topology.t (1.43s)test-narrow-clone-stream.t#flat-fncache (20.85s)test-narrow-clone-stream.t#flat-nofncache (20.68s)test-narrow-clone-stream.t#tree (20.71s)test-locate.t (7.50s)test-merge-closedheads.t (7.18s)test-wireproto-clientreactor.py (0.25s)test-issue660.t#dirstate-v1 (5.50s)test-issue660.t#dirstate-v2 (5.66s)test-contrib-dumprevlog.t (3.09s)test-unified-test.t (0.99s)test-remotefilelog-pull-noshallow.t (3.41s)test-debugextensions.t (1.23s)test-issue1306.t (2.85s)test-narrow-sparse.t#flat (4.84s)test-narrow-sparse.t#tree (3.72s)test-fuzz-targets.t (0.33s)test-cat.t (6.65s)test-histedit-no-backup.t#abortcommand (2.53s)test-histedit-no-backup.t#abortflag (2.60s)test-histedit-merge-tools.t (3.30s)test-remotefilelog-tags.t (4.28s)test-issue1175.t (5.40s)test-oldcgi.t (1.37s)test-narrow-clone-non-narrow-server.t (7.66s)test-largefiles-small-disk.t (1.33s)test-issue586.t (4.94s)test-convert-clonebranches.t (4.85s)test-remotefilelog-strip.t (3.83s)test-impexp-branch.t (4.07s)test-rebase-legacy.t#continuecommand (3.69s)test-rebase-legacy.t#continueflag (3.52s)test-wsgirequest.py (0.33s)test-symlink-placeholder.t (2.95s)test-url-download.t (3.82s)test-merge6.t (3.83s)test-ssh-repoerror.t (4.14s)test-narrow-copies.t (5.51s)test-server-view.t (3.75s)test-rebase-issue-noparam-single-rev.t (5.21s)test-verify-repo-operations.py (0.12s)test-close-head.t (4.37s)test-merge-revert2.t (7.19s)test-narrow-acl.t (4.80s)test-merge4.t (4.56s)test-addremove.t (4.76s)test-mq-qrename.t (8.87s)test-narrow-update.t (5.23s)test-mq-symlinks.t (7.50s)test-double-merge.t (1.97s)test-narrow-patch.t#flat (2.52s)test-narrow-patch.t#tree (2.59s)test-glog-topological.t (2.07s)test-sparse-verbose-json.t (3.21s)test-merge9.t (3.94s)test-remotefilelog-partial-shallow.t (3.45s)test-update-reverse.t (2.72s)test-patch-offset.t (0.71s)test-newcgi.t (0.94s)test-revlog-raw.py (0.67s)test-context-metadata.t (2.38s)test-pushvars.t (2.48s)test-histedit-templates.t (2.27s)test-hgwebdirsym.t (3.27s)test-narrow-debugcommands.t (2.50s)test-log-exthook.t (1.06s)test-branch-tag-confict.t (2.25s)test-issue1802.t (3.06s)test-custom-filters.t (1.83s)test-sparse-requirement.t (2.60s)test-sparse-clone.t (1.83s)test-issue2137.t (0.89s)test-manifest.py (2.31s)test-merge-symlinks.t (1.61s)test-permissions.t#dirstate-v1 (2.21s)test-permissions.t#dirstate-v2 (2.31s)test-eolfilename.t (2.31s)test-merge10.t (3.00s)test-diffdir.t (4.27s)test-schemes.t (2.51s)test-mq-qgoto.t (6.28s)test-newercgi.t (0.95s)test-issue522.t (2.56s)test-hooklib-reject_new_heads.t (1.39s)test-strip-branch-cache.t (2.65s)test-url.py (0.21s)test-convert-identity.t (2.85s)test-editor-filename.t (1.49s)test-import-unknown.t (4.59s)test-journal-exists.t (2.35s)test-unbundlehash.t (1.71s)test-merge-revert.t (7.17s)test-encode.t (2.84s)test-hooklib-enforce_draft_commits.t (2.06s)test-casecollision.t (4.30s)test-remotefilelog-datapack.py (1.52s)test-ancestor.py (0.92s)test-missing-capability.t (2.42s)test-update-dest.t (2.33s)test-known.t (3.49s)test-sparse-fsmonitor.t (0.01s)test-no-symlinks.t (0.08s)test-convert-authormap.t (1.60s)test-sparse-clear.t (2.35s)test-remotefilelog-permissions.t (3.10s)test-subrepo-paths.t (1.45s)test-confused-revert.t (3.89s)test-merge2.t (4.95s)test-issue1993.t (2.04s)test-issue1502.t (2.50s)test-gpg.t (1.88s)test-rebase-empty-successor.t (2.75s)test-clone-cgi.t (0.92s)test-fix-pickle.t (1.10s)test-revert-interactive-curses.t#committed (1.94s)test-revert-interactive-curses.t#wdir (1.33s)test-websub.t (1.41s)test-rebase-brute-force.t (2.14s)test-simplemerge.py (0.19s)test-diff-antipatience.t#bdiff (0.69s)test-diff-antipatience.t#xdiff (0.91s)test-issue1877.t (3.41s)test-empty-file.t (2.74s)test-parseindex2.py (0.33s)test-revlog-mmapindex.t (16.62s)test-changelog-exec.t (2.44s)test-hgk.t (1.99s)test-lrucachedict.py (0.19s)test-diff-hashes.t (1.99s)test-convert-bzr-ghosts.t (0.08s)test-debian-packages.t (0.32s)test-remotefilelog-histpack.py (3.45s)test-remotefilelog-wireproto.t (3.38s)test-legacy-exit-code.t (2.34s)test-remotefilelog-hgweb.t (2.37s)test-docker-packaging.t (0.20s)test-bookmarks-strip.t (2.76s)test-remotefilelog-keepset.t (2.66s)test-absorb-edit-lines.t (2.34s)test-mactext.t (1.11s)test-empty.t (1.52s)test-issue6642.t (2.50s)test-remotefilelog-bad-configs.t (2.58s)test-diff-subdir.t (1.59s)test-stdio.py (6.56s)test-narrow-debugrebuilddirstate.t (1.89s)test-convert-bzr-114.t (0.08s)test-unrelated-pull.t (1.91s)test-diff-reverse.t (2.06s)test-revset-dirstate-parents.t (4.80s)test-trusted.py (0.27s)test-debugbackupbundle.t (1.96s)test-wireproto-framing.py (0.19s)test-update-issue1456.t (2.96s)test-merge5.t (2.64s)test-convert-bzr-treeroot.t (0.08s)test-narrow-archive.t (2.90s)test-absorb-unfinished.t (1.38s)test-diff-copy-depth.t (4.04s)test-hgweb-bundle.t (1.81s)test-mq-qimport-fail-cleanup.t (1.53s)test-rhg-no-generaldelta.t (1.57s)test-linelog.py (2.83s)test-linerange.py (0.19s)test-fix-clang-format.t (0.11s)test-manifest-merging.t (1.89s)test-issue619.t (2.01s)test-merge8.t (2.03s)test-issue842.t (2.06s)test-remotefilelog-blame.t (3.61s)test-filecache.py (0.97s)test-revlog-group-emptyiter.t (1.43s)test-propertycache.py (0.52s)test-demandimport.py (0.19s)test-pathencode.py (0.46s)test-archive-symlinks.t (1.36s)test-absorb-filefixupstate.py (0.37s)test-absorb-strip.t (1.29s)test-pull-permission.t (1.20s)test-issue5979.t (2.62s)test-revisions.t (3.73s)test-remotefilelog-share.t#normal (2.08s)test-remotefilelog-share.t#safe (2.18s)test-issue612.t (1.97s)test-batching.py (0.31s)test-context.py (0.44s)test-debugindexdot.t (2.16s)test-lock.py (0.20s)test-doctest.py (1.24s)test-eol-tag.t (1.41s)test-empty-manifest-index.t (1.56s)test-ssh-batch.t (1.42s)test-bdiff.py (0.19s)test-hgweb-auth.py (0.18s)test-nested-repo.t (2.50s)test-censor2.t (1.60s)test-minirst.py (0.23s)test-rust-ancestor.py (0.17s)test-execute-bit.t (2.21s)test-issue4074.t (1.65s)test-username-newline.t (0.85s)test-revlog-packentry.t (1.09s)test-fastannotate-revmap.py (0.35s)test-ui-config.py (0.41s)test-sparse-with-safe-share.t (0.91s)test-diff-issue2761.t (1.94s)test-strict.t (1.69s)test-diff-newlines.t (0.89s)test-atomictempfile.py (0.19s)test-util.py (0.18s)test-rust-discovery.py (0.16s)test-extra-filelog-entry.t (1.42s)test-empty-dir.t (1.28s)test-storage.py (2.10s)test-absorb-phase.t (1.65s)test-annotate.py (0.22s)test-debugrename.t (1.74s)test-issue1438.t (1.79s)test-issue1102.t (1.58s)test-fastannotate-diffopts.t (0.92s)test-revert-unknown.t (1.56s)test-bad-pull.t (1.25s)test-revert-flags.t (1.32s)test-simplekeyvaluefile.py (0.19s)test-issue1089.t (1.39s)test-backwards-remove.t (1.23s)test-contrib-emacs.t (0.58s)test-xdg.t (0.26s)test-cappedreader.py (0.19s)test-wireproto.py (0.27s)test-dirstate-backup.t (0.45s)test-mq-qsave.t (0.99s)test-encoding-func.py (0.16s)test-extensions-wrapfunction.py (0.27s)test-walkrepo.py (0.33s)test-hashutil.py (0.08s)test-rust-revlog.py (0.07s)test-config-parselist.py (0.18s)test-revlog-ancestry.py (0.53s)test-hg-parseurl.py (0.17s)test-ui-verbosity.py (0.31s)test-filelog.py (0.36s)test-symlink-os-yes-fs-no.py (1.40s)test-sshserver.py (0.26s)test-hgwebdir-gc.py (0.40s)test-config-env.py (0.27s)test-minifileset.py (0.24s)test-locale.t (0.16s)test-duplicateoptions.py (0.45s)test-lfs-pointer.py (0.39s)test-hgwebdir-paths.py (0.36s)test-ui-color.py (0.30s)test-status-inprocess.py (0.34s)test-dispatch.py (0.40s)test-dirs.py (0.14s)test-mdiff.py (0.12s)