changeset 5127:1a028bdaddce

Merge with crew-stable
author Patrick Mezard <pmezard@gmail.com>
date Wed, 08 Aug 2007 23:11:12 +0200
parents 06154aff2b1a (current diff) dcfd75502b82 (diff)
children ff461baa9c4e
files tests/test-no-symlinks
diffstat 4 files changed, 82 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/tests/hghave
+++ b/tests/hghave
@@ -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 @@ if __name__ == '__main__':
         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)
new file mode 100755
--- /dev/null
+++ b/tests/test-no-symlinks
@@ -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
new file mode 100644
index 0000000000000000000000000000000000000000..6c4b94ad67cfc1465f9f659179178c8854801f39
GIT binary patch
literal 558
zc$@()0@3|QM=>x$T4*^jL0KkKSsYCK5dZ)bfB*iw&@)vF|MhHU#B%@t-k3o9TC5Eb
z!IqOj4B?0Y$Re--d5oa1RECMP$kGh}X!SiN(3$`PL8C)J0ilge4Kh7Onl$o_Jxx7N
zO+t+kff^*xG8zB?Gyu>50B8UJ00000f{iH8P?;EphJz-WU_po)01XTYlK>Hc28K+4
z1D!s>1N9&?{oU9$;lMyS6CDL+5CH@XNCAj&FmnV^{t-kF03u4N)IbP;xr}qXaM+T*
zNxl9b*opYAc>L-?=*zIB>D9$i!-ygJ400;EhB-5nuaJTx!yX*;60axQC@*MZx_(20
zCA7~Xjchc_?R?O@XOIV$#Sx{1s(4Fl0K!A;d<^Iq$~Y;AafLDx$qX~96N+3XFeK_J
zOlpu;1E^>!1&P4{A|(reiv=|)D)$`P^}1~Qj!k;$>F2hV1>|rhXgr}MfD`uhGhWIP
z0O|Jw&UPYsl9i2gZrMbJj7(TikwB49@Fd=F_@l}W(jiAUF(YD-^68XXPD_4ZSCS_7
zm~i0Y#uh;YkwrXcvEdTJOfZ$mi9nBQHe;MeJDXGvO*Qe(++3FY=KhoB)={(rneiZi
z^9l?S4=CIJ(ugIQPK_hUIVf${sX<^6B>w93tJqa;^C|&FMD;RLss)LctbJII#06j?
wL0?4{R<rXZ!YeM%<Dv`i-Z%=b(<~`LfIC2GNdPp{RY3n2az!{$kQ_|>5hT{~A^-pY
new file mode 100644
--- /dev/null
+++ b/tests/test-no-symlinks.out
@@ -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