##// END OF EJS Templates
context: add an assertion checking linerange consistency in blockdescendants()...
context: add an assertion checking linerange consistency in blockdescendants() If this assertion fails, this indicates a flaw in the algorithm. So fail fast instead of possibly producing wrong results. Also extend the target line range in test to catch a merge changeset with all its parents.

File last commit:

r30559:d83ca854 default
r31991:55987fc8 default
Show More
test-walkrepo.py
66 lines | 1.9 KiB | text/x-python | PythonLexer
Pulkit Goyal
py3: make test-walkrepo use print_function
r28676 from __future__ import absolute_import, print_function
Gregory Szorc
tests: use absolute_import in test-walkrepo
r27300
Eric Hopper
test: Add tests for webdir symlinks and walkrepos.
r6341 import os
Gregory Szorc
tests: use absolute_import in test-walkrepo
r27300
from mercurial import (
hg,
scmutil,
Yuya Nishihara
tests: alias ui as uimod in test-walkrepo
r28777 ui as uimod,
Gregory Szorc
tests: use absolute_import in test-walkrepo
r27300 util,
)
chdir = os.chdir
mkdir = os.mkdir
pjoin = os.path.join
walkrepos = scmutil.walkrepos
checklink = util.checklink
Eric Hopper
test: Add tests for webdir symlinks and walkrepos.
r6341
Yuya Nishihara
ui: factor out ui.load() to create a ui without loading configs (API)...
r30559 u = uimod.ui.load()
Matt Mackall
tests: make test-walkrepo use hg's symlink test
r16321 sym = checklink('.')
Eric Hopper
test: Add tests for webdir symlinks and walkrepos.
r6341
hg.repository(u, 'top1', create=1)
mkdir('subdir')
chdir('subdir')
hg.repository(u, 'sub1', create=1)
mkdir('subsubdir')
chdir('subsubdir')
hg.repository(u, 'subsub1', create=1)
chdir(os.path.pardir)
if sym:
os.symlink(os.path.pardir, 'circle')
os.symlink(pjoin('subsubdir', 'subsub1'), 'subsub1')
def runtest():
reposet = frozenset(walkrepos('.', followsym=True))
Patrick Mezard
util: disable walkrepo() recursive behaviour...
r7494 if sym and (len(reposet) != 3):
Pulkit Goyal
py3: make test-walkrepo use print_function
r28676 print("reposet = %r" % (reposet,))
print(("Found %d repositories when I should have found 3"
% (len(reposet),)))
Patrick Mezard
util: disable walkrepo() recursive behaviour...
r7494 if (not sym) and (len(reposet) != 2):
Pulkit Goyal
py3: make test-walkrepo use print_function
r28676 print("reposet = %r" % (reposet,))
print(("Found %d repositories when I should have found 2"
% (len(reposet),)))
Eric Hopper
test: Add tests for webdir symlinks and walkrepos.
r6341 sub1set = frozenset((pjoin('.', 'sub1'),
pjoin('.', 'circle', 'subdir', 'sub1')))
if len(sub1set & reposet) != 1:
Pulkit Goyal
py3: make test-walkrepo use print_function
r28676 print("sub1set = %r" % (sub1set,))
print("reposet = %r" % (reposet,))
print("sub1set and reposet should have exactly one path in common.")
Eric Hopper
test: Add tests for webdir symlinks and walkrepos.
r6341 sub2set = frozenset((pjoin('.', 'subsub1'),
pjoin('.', 'subsubdir', 'subsub1')))
if len(sub2set & reposet) != 1:
Pulkit Goyal
py3: make test-walkrepo use print_function
r28676 print("sub2set = %r" % (sub2set,))
print("reposet = %r" % (reposet,))
print("sub2set and reposet should have exactly one path in common.")
Eric Hopper
test: Add tests for webdir symlinks and walkrepos.
r6341 sub3 = pjoin('.', 'circle', 'top1')
Brodie Rao
cleanup: "not x in y" -> "x not in y"
r16686 if sym and sub3 not in reposet:
Pulkit Goyal
py3: make test-walkrepo use print_function
r28676 print("reposet = %r" % (reposet,))
print("Symbolic links are supported and %s is not in reposet" % (sub3,))
Eric Hopper
test: Add tests for webdir symlinks and walkrepos.
r6341
runtest()
if sym:
# Simulate not having symlinks.
del os.path.samestat
sym = False
runtest()