changeset 5408:36794dbe66a3

Test workingctx exec/link bit for copies. Also, make the test runnable on platforms without symlinks.
author Patrick Mezard <pmezard@gmail.com>
date Sun, 07 Oct 2007 15:13:50 +0200
parents d7e7902bb190
children 190c234c8fa0
files tests/test-merge-symlinks tests/test-merge-symlinks.hg tests/test-merge-symlinks.out
diffstat 3 files changed, 35 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/tests/test-merge-symlinks	Sun Oct 07 15:07:35 2007 +0200
+++ b/tests/test-merge-symlinks	Sun Oct 07 15:13:50 2007 +0200
@@ -1,28 +1,39 @@
 #!/bin/sh
 
-"$TESTDIR/hghave" symlink || exit 80
-
 cat > echo.py <<EOF
 #!/usr/bin/env python
 import os
-for k in ('HG_MY_ISLINK', 'HG_OTHER_ISLINK', 'HG_BASE_ISLINK'):
+for k in ('HG_FILE', 'HG_MY_ISLINK', 'HG_OTHER_ISLINK', 'HG_BASE_ISLINK'):
     print k, os.environ[k]
 EOF
-chmod +x echo.py
 
 # Create 2 heads containing the same file, once as
-# a file, once as a link.
-echo % create heads
+# a file, once as a link. Bundle was generated with:
+#
+# hg init t
+# cd t
+# echo a > a
+# hg ci -qAm t0 -d '0 0'
+# echo l > l
+# hg ci -qAm t1 -d '1 0'
+# hg up -C 0
+# ln -s a l
+# hg ci -qAm t2 -d '2 0'
+# echo l2 > l2
+# hg ci -qAm t3 -d '3 0'
+
 hg init t
 cd t
-echo a > a
-hg ci -qAm t0
-echo l > l
-hg ci -qAm t1
-hg up -C 0
-ln -s a l
-hg ci -qAm t2
+hg -q pull "$TESTDIR/test-merge-symlinks.hg"
+hg up -C 3
 
 # Merge them and display *_ISLINK vars
 echo % merge heads
-HGMERGE=../echo.py hg merge
+HGMERGE="python ../echo.py" hg merge
+
+# Test working directory symlink bit calculation wrt copies,
+# especially on non-supporting systems.
+echo % merge working directory
+hg up -C 2
+hg copy l l2
+HGMERGE="python ../echo.py" hg up 3
Binary file tests/test-merge-symlinks.hg has changed
--- a/tests/test-merge-symlinks.out	Sun Oct 07 15:07:35 2007 +0200
+++ b/tests/test-merge-symlinks.out	Sun Oct 07 15:13:50 2007 +0200
@@ -1,9 +1,17 @@
-% create heads
-0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+3 files updated, 0 files merged, 0 files removed, 0 files unresolved
 % merge heads
+HG_FILE l
 HG_MY_ISLINK 1
 HG_OTHER_ISLINK 0
 HG_BASE_ISLINK 0
 merging l
 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
 (branch merge, don't forget to commit)
+% merge working directory
+1 files updated, 0 files merged, 1 files removed, 0 files unresolved
+HG_FILE l2
+HG_MY_ISLINK 1
+HG_OTHER_ISLINK 0
+HG_BASE_ISLINK 0
+merging l2
+0 files updated, 1 files merged, 0 files removed, 0 files unresolved