##// END OF EJS Templates
Move alias into core
Move alias into core

File last commit:

r8150:bbc24c07 default
r8655:21688b8a default
Show More
test-walkrepo.py
53 lines | 1.8 KiB | text/x-python | PythonLexer
Eric Hopper
test: Add tests for webdir symlinks and walkrepos.
r6341 import os
import os.path
from mercurial import hg, ui
Martin Geisler
util: use built-in set and frozenset...
r8150 from mercurial.util import walkrepos
Eric Hopper
test: Add tests for webdir symlinks and walkrepos.
r6341 from os import mkdir, chdir
from os.path import join as pjoin
u = ui.ui()
sym = hasattr(os, 'symlink') and hasattr(os.path, 'samestat')
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):
Eric Hopper
test: Add tests for webdir symlinks and walkrepos.
r6341 print "reposet = %r" % (reposet,)
Patrick Mezard
Merge with crew-stable
r7495 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):
Eric Hopper
test: Add tests for webdir symlinks and walkrepos.
r6341 print "reposet = %r" % (reposet,)
Patrick Mezard
Merge with crew-stable
r7495 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:
print "sub1set = %r" % (sub1set,)
print "reposet = %r" % (reposet,)
Benoit Allard
tests: test-walkrepo shouldn't throw SystemExit...
r7492 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:
print "sub2set = %r" % (sub2set,)
print "reposet = %r" % (reposet,)
Benoit Allard
tests: test-walkrepo shouldn't throw SystemExit...
r7492 print "sub1set and reposet should have exactly one path in common."
Eric Hopper
test: Add tests for webdir symlinks and walkrepos.
r6341 sub3 = pjoin('.', 'circle', 'top1')
if sym and not (sub3 in reposet):
print "reposet = %r" % (reposet,)
Benoit Allard
tests: test-walkrepo shouldn't throw SystemExit...
r7492 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()