view tests/test-symlink-os-yes-fs-no.py @ 7154:7fdf7a0a41b7

index parser: fix refcounting in case of errors, refactor due to incorrect refcounting, on a bad revlog it was failing with: *** glibc detected *** /usr/bin/python: corrupted double-linked list: 0x0816d318 *** and a backtrace.
author Benoit Boissinot <benoit.boissinot@ens-lyon.org>
date Sun, 19 Oct 2008 01:26:46 +0200
parents 24fd94ed1cc0
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')