# HG changeset patch # User Patrick Mezard # Date 1186607472 -7200 # Node ID 1a028bdaddcee758be73e5d202b2211fa266f561 # Parent 06154aff2b1af2b9478b948625f167124053b538# Parent dcfd75502b827a14417e1333e35ce6251f3ef5cf Merge with crew-stable diff -r 06154aff2b1a -r 1a028bdaddce tests/hghave --- a/tests/hghave Wed Aug 08 23:00:01 2007 +0200 +++ b/tests/hghave Wed Aug 08 23:11:12 2007 +0200 @@ -1,6 +1,7 @@ #!/usr/bin/env python """Test the running system for features availability. Exit with zero -if all features are there, non-zero otherwise. +if all features are there, non-zero otherwise. If a feature name is +prefixed with "no-", the absence of feature is tested. """ import optparse import os @@ -67,13 +68,19 @@ failures += 1 for feature in args: + negate = feature.startswith('no-') + if negate: + feature = feature[3:] + if feature not in checks: error('hghave: unknown feature: ' + feature) continue check, desc = checks[feature] - if not check(): + if not negate and not check(): error('hghave: missing feature: ' + desc) + elif negate and check(): + error('hghave: unexpected feature: ' + desc) if failures != 0: sys.exit(1) diff -r 06154aff2b1a -r 1a028bdaddce tests/test-no-symlinks --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-no-symlinks Wed Aug 08 23:11:12 2007 +0200 @@ -0,0 +1,47 @@ +#!/bin/sh + +"$TESTDIR/hghave" no-symlink || exit 80 + +# The following script was used to create the bundle: +# +# hg init symlinks +# cd symlinks +# echo a > a +# mkdir d +# echo b > d/b +# ln -s a a.lnk +# ln -s d/b d/b.lnk +# hg ci -Am t +# hg bundle --base null ../test-no-symlinks.bundle + +# Extract a symlink on a platform not supporting them +echo % unbundle +hg init t +cd t +hg pull "$TESTDIR/test-no-symlinks.bundle" +hg update + +cat a.lnk && echo +cat d/b.lnk && echo + +# Copy a symlink and move another +echo % move and copy +hg copy a.lnk d/a2.lnk +hg mv d/b.lnk b2.lnk +hg ci -Am copy +cat d/a2.lnk && echo +cat b2.lnk && echo + +# Bundle and extract again +echo % bundle +hg bundle --base null ../symlinks.bundle +cd .. + +hg init t2 +cd t2 +hg pull ../symlinks.bundle +hg update + +cat a.lnk && echo +cat d/a2.lnk && echo +cat b2.lnk && echo \ No newline at end of file diff -r 06154aff2b1a -r 1a028bdaddce tests/test-no-symlinks.bundle Binary file tests/test-no-symlinks.bundle has changed diff -r 06154aff2b1a -r 1a028bdaddce tests/test-no-symlinks.out --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-no-symlinks.out Wed Aug 08 23:11:12 2007 +0200 @@ -0,0 +1,26 @@ +% unbundle +pulling from C:\dev\mercurial\hg\hg-local-stable\tests/test-no-symlinks.bundle +requesting all changes +adding changesets +adding manifests +adding file changes +added 1 changesets with 4 changes to 4 files +(run 'hg update' to get a working copy) +4 files updated, 0 files merged, 0 files removed, 0 files unresolved +a +d/b +% move and copy +a +d/b +% bundle +pulling from ../symlinks.bundle +requesting all changes +adding changesets +adding manifests +adding file changes +added 2 changesets with 6 changes to 6 files +(run 'hg update' to get a working copy) +5 files updated, 0 files merged, 0 files removed, 0 files unresolved +a +a +d/b