tests/svnurlof.py
author Arseniy Alekseyev <aalekseyev@janestreet.com>
Thu, 11 Apr 2024 19:57:36 +0100
branchstable
changeset 51564 f5c367dc6541
parent 48875 6000f5b25c9b
permissions -rw-r--r--
tests: add tests and document expectations from visit_children_set in rust The tests this patch are adding have the form of formal spec in invariants::visit_children_set::holds, and then a series of checks that all examples must satisfy this formal spec. I tried to make the spec consistent with how this function is used and how it was originally conceived. This is in conflict with how it's documented in Rust. Some of the implementations also fail to implement this spec, which leads to bugs, in particular when complicated patterns are used with `hg status`.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
41480
eb6700e6c5ea tests: make and use a new `svnurlof.py` helper for constructing svn urls
Augie Fackler <augie@google.com>
parents:
diff changeset
     1
import sys
eb6700e6c5ea tests: make and use a new `svnurlof.py` helper for constructing svn urls
Augie Fackler <augie@google.com>
parents:
diff changeset
     2
eb6700e6c5ea tests: make and use a new `svnurlof.py` helper for constructing svn urls
Augie Fackler <augie@google.com>
parents:
diff changeset
     3
from mercurial import (
eb6700e6c5ea tests: make and use a new `svnurlof.py` helper for constructing svn urls
Augie Fackler <augie@google.com>
parents:
diff changeset
     4
    pycompat,
eb6700e6c5ea tests: make and use a new `svnurlof.py` helper for constructing svn urls
Augie Fackler <augie@google.com>
parents:
diff changeset
     5
    util,
eb6700e6c5ea tests: make and use a new `svnurlof.py` helper for constructing svn urls
Augie Fackler <augie@google.com>
parents:
diff changeset
     6
)
eb6700e6c5ea tests: make and use a new `svnurlof.py` helper for constructing svn urls
Augie Fackler <augie@google.com>
parents:
diff changeset
     7
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41480
diff changeset
     8
41480
eb6700e6c5ea tests: make and use a new `svnurlof.py` helper for constructing svn urls
Augie Fackler <augie@google.com>
parents:
diff changeset
     9
def main(argv):
eb6700e6c5ea tests: make and use a new `svnurlof.py` helper for constructing svn urls
Augie Fackler <augie@google.com>
parents:
diff changeset
    10
    enc = util.urlreq.quote(pycompat.sysbytes(argv[1]))
eb6700e6c5ea tests: make and use a new `svnurlof.py` helper for constructing svn urls
Augie Fackler <augie@google.com>
parents:
diff changeset
    11
    if pycompat.iswindows:
eb6700e6c5ea tests: make and use a new `svnurlof.py` helper for constructing svn urls
Augie Fackler <augie@google.com>
parents:
diff changeset
    12
        fmt = 'file:///%s'
eb6700e6c5ea tests: make and use a new `svnurlof.py` helper for constructing svn urls
Augie Fackler <augie@google.com>
parents:
diff changeset
    13
    else:
eb6700e6c5ea tests: make and use a new `svnurlof.py` helper for constructing svn urls
Augie Fackler <augie@google.com>
parents:
diff changeset
    14
        fmt = 'file://%s'
eb6700e6c5ea tests: make and use a new `svnurlof.py` helper for constructing svn urls
Augie Fackler <augie@google.com>
parents:
diff changeset
    15
    print(fmt % pycompat.sysstr(enc))
eb6700e6c5ea tests: make and use a new `svnurlof.py` helper for constructing svn urls
Augie Fackler <augie@google.com>
parents:
diff changeset
    16
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41480
diff changeset
    17
41480
eb6700e6c5ea tests: make and use a new `svnurlof.py` helper for constructing svn urls
Augie Fackler <augie@google.com>
parents:
diff changeset
    18
if __name__ == '__main__':
eb6700e6c5ea tests: make and use a new `svnurlof.py` helper for constructing svn urls
Augie Fackler <augie@google.com>
parents:
diff changeset
    19
    main(sys.argv)