tests/test-symlink-os-yes-fs-no.py
author David Champion <dgc@uchicago.edu>
Mon, 10 May 2010 11:04:56 -0500
changeset 11148 a912f26777d3
parent 6879 24fd94ed1cc0
child 11769 ca6cebd8734e
permissions -rw-r--r--
merge: introduce tool.check parameter tool.check is a list of check options, and can be used in place of tool.checkchanged and tool.checkconflicts: Equivalences: tool.checkchanged = yes tool.checkconflicts = no tool.check = changed tool.checkchanged = no tool.checkconflicts = yes tool.check = conflicts tool.checkchanged = yes tool.checkconflicts = yes tool.check = changed, conflicts Add _toollist() wrapper for ui.configlist() to implement this consistently. checkchanged and checkconflicts are still supported, but check is preferred for implementing new check options.

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')