view tests/test-ssh-batch.t @ 51721:ed28085827ec

typing: explicitly type some `mercurial.util` eol code to avoid @overload Unlike the previous commit, this makes a material difference in the generated stub file- the `pycompat.identity()` aliases generated an @overload like this: @overload def fromnativeeol(a: _T0) -> _T0: ... ... which might fail to detect a bad argument, like str. This drops the @overload for the 3 related methods, so there's a single definition for each. The `typelib.BinaryIO_Proxy` is used for subclassing (the same as was done in 8147abc05794), so that it is a `BinaryIO` type during type checking, but still inherits `object` at runtime. That way, we don't need to implement unused abstract methods.
author Matt Harbison <matt_harbison@yahoo.com>
date Fri, 19 Jul 2024 16:49:46 -0400
parents 9c4204b7f3e4
children
line wrap: on
line source

  $ hg init a
  $ cd a
  $ touch a; hg commit -qAm_
  $ hg bookmark $(for i in $($TESTDIR/seq.py 0 20); do echo b$i; done)
  $ hg clone . ../b -q
  $ cd ../b

Checking that when lookup multiple bookmarks in one go, if one of them
fails (thus causing the sshpeer to be stopped), the errors from the
further lookups don't result in tracebacks.

  $ hg pull -r b0 -r nosuchbookmark $(for i in $($TESTDIR/seq.py 1 20); do echo -r b$i; done) ssh://user@dummy/$(pwd)/../a
  pulling from ssh://user@dummy/$TESTTMP/b/../a
  abort: unknown revision 'nosuchbookmark'
  [255]