Mercurial > hg
view tests/test-minifileset.py @ 46236:eec47efe219d
sharesafe: add functionality to automatically downgrade shares
Reasoning is same as previous patch which adds automatic upgrade support.
Downgrade is required as if automatic upgrade is enabled, all shares upgrade and
then source repository downgrades, shares won't work. We need to downgrade them.
Differential Revision: https://phab.mercurial-scm.org/D9680
author | Pulkit Goyal <7895pulkit@gmail.com> |
---|---|
date | Wed, 06 Jan 2021 18:31:16 +0530 |
parents | 2372284d9457 |
children | 6000f5b25c9b |
line wrap: on
line source
from __future__ import absolute_import from __future__ import print_function from mercurial import minifileset def check(text, truecases, falsecases): f = minifileset.compile(text) for args in truecases: if not f(*args): print('unexpected: %r should include %r' % (text, args)) for args in falsecases: if f(*args): print('unexpected: %r should exclude %r' % (text, args)) check(b'all()', [(b'a.php', 123), (b'b.txt', 0)], []) check(b'none()', [], [(b'a.php', 123), (b'b.txt', 0)]) check(b'!!!!((!(!!all())))', [], [(b'a.php', 123), (b'b.txt', 0)]) check( b'"path:a" & (**.b | **.c)', [(b'a/b.b', 0), (b'a/c.c', 0)], [(b'b/c.c', 0)] ) check( b'(path:a & **.b) | **.c', [(b'a/b.b', 0), (b'a/c.c', 0), (b'b/c.c', 0)], [] ) check( b'**.bin - size("<20B")', [(b'b.bin', 21)], [(b'a.bin', 11), (b'b.txt', 21)] ) check( b'!!**.bin or size(">20B") + "path:bin" or !size(">10")', [(b'a.bin', 11), (b'b.txt', 21), (b'bin/abc', 11)], [(b'a.notbin', 11), (b'b.txt', 11), (b'bin2/abc', 11)], ) check( b'(**.php and size(">10KB")) | **.zip | ("path:bin" & !"path:bin/README") ' b' | size(">1M")', [(b'a.php', 15000), (b'a.zip', 0), (b'bin/a', 0), (b'bin/README', 1e7)], [(b'a.php', 5000), (b'b.zip2', 0), (b't/bin/a', 0), (b'bin/README', 1)], )