Mercurial > hg
view tests/test-symlink-os-yes-fs-no.py @ 6879:24fd94ed1cc0
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.
author | Dov Feldstern <dfeldstern@fastimap.com> |
---|---|
date | Thu, 31 Jul 2008 22:41:19 +0300 |
parents | |
children | ca6cebd8734e |
line wrap: on
line source
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')