mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 08:47:12 +03:00
7805ceec07
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.
18 lines
525 B
Python
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')
|