# HG changeset patch # User Mads Kiilerich # Date 1339711347 -7200 # Node ID 51afb47e239970ae869d639b0983c1c93e111ec7 # Parent 89f984505cbb582161129fc006e5e837faafa425 tests: introduce hghave hardlinks Some tests can't be run on FAT filesystems because it doesn't support hardlinks. [ original upstream message ] diff -r 89f984505cbb -r 51afb47e2399 tests/hghave.py --- a/tests/hghave.py Fri Jun 15 00:02:27 2012 +0200 +++ b/tests/hghave.py Fri Jun 15 00:02:27 2012 +0200 @@ -189,6 +189,21 @@ except (OSError, AttributeError): return False +def has_hardlink(): + from mercurial import util + fh, fn = tempfile.mkstemp(dir='.', prefix=tempprefix) + os.close(fh) + name = tempfile.mktemp(dir='.', prefix=tempprefix) + try: + try: + util.oslink(fn, name) + os.unlink(name) + return True + except OSError: + return False + finally: + os.unlink(fn) + def has_tla(): return matchoutput('tla --version 2>&1', r'The GNU Arch Revision') @@ -266,6 +281,7 @@ "gettext": (has_gettext, "GNU Gettext (msgfmt)"), "git": (has_git, "git command line client"), "gpg": (has_gpg, "gpg client"), + "hardlink": (has_hardlink, "hardlinks"), "icasefs": (has_icasefs, "case insensitive file system"), "inotify": (has_inotify, "inotify extension support"), "lsprof": (has_lsprof, "python lsprof module"),