sapling/tests/test-symlink-os-yes-fs-no.py
Dov Feldstern 7805ceec07 test symlinks on symlink-capable os but non-capable filesystem (issue1149)
The "real" way to test this is to mount a non-symlink-capable filesystem, and
try working on it; however, I don't know how to mount filesystems as a
non-priveleged user from within the testing framework. So instead, os.symlink
is overridden to raise the exception that would be raised on such a filesystem.
2008-07-31 22:41:19 +03:00

18 lines
525 B
Python

import os, sys
from mercurial import hg, ui
TESTDIR = os.environ["TESTDIR"]
# only makes sense to test on os which supports symlinks
if not hasattr(os, "symlink"):
sys.exit(80) # SKIPPED_STATUS defined in run-tests.py
# this is what symlink would do on a non-symlink file system
def symlink_failure(src, dst):
raise OSError, (1, "Operation not permitted")
os.symlink = symlink_failure
# now try cloning a repo which contains symlinks
u = ui.ui()
hg.clone(u, os.path.join(TESTDIR, 'test-no-symlinks.hg'), 'test1')