Hello!
I have noticed that make test fails without any explanations when the
merge utility is missing. I don't think tests should be silent in
case of failure.
It turned out that the particular test was using exit to interrupt the
test in case of an error. This caused the whole test script to exit.
No further tests would be run even if --immediate wasn't specified.
No error message was printed.
This patch does following:
All instances of exit, exit 1 and (exit 1) in tests have been
replaced with return 1. In fact, (exit 1) had no effect.
File descriptor 5 is duplicated from file descriptor 1. This is needed
to print important error messages from tests.
New function test_run_() has been introduced. Any return in the test
would merely cause that function to return without skipping calls to
test_failure_() and test_ok_(). The new function also traps exit and
treats it like a fatal error (in case somebody reintroduces exit in
the tests).
test_expect_failure() and test_expect_success() check both the result of
eval and the return value of test_run_(). If the later is not 0, it's
always a failure because it indicates the the test didn't complete.
Signed-off-by: Pavel Roskin [EMAIL PROTECTED]
diff --git a/t/t1001-read-tree-m-2way.sh b/t/t1001-read-tree-m-2way.sh
--- a/t/t1001-read-tree-m-2way.sh
+++ b/t/t1001-read-tree-m-2way.sh
@@ -100,7 +100,7 @@ test_expect_success \
git-checkout-cache -u -f -q -a
git-update-cache --add yomin
read_tree_twoway $treeH $treeM
- git-ls-files --stage 4.out || exit
+ git-ls-files --stage 4.out || return 1
diff -u M.out 4.out 4diff.out
compare_change 4diff.out expected
check_cache_at yomin clean'
@@ -114,7 +114,7 @@ test_expect_success \
git-update-cache --add yomin
echo yomin yomin yomin
read_tree_twoway $treeH $treeM
- git-ls-files --stage 5.out || exit
+ git-ls-files --stage 5.out || return 1
diff -u M.out 5.out 5diff.out
compare_change 5diff.out expected
check_cache_at yomin dirty'
@@ -215,7 +215,7 @@ test_expect_success \
echo nitfol nitfol nitfol
git-update-cache --add nitfol
read_tree_twoway $treeH $treeM
- git-ls-files --stage 14.out || exit
+ git-ls-files --stage 14.out || return 1
diff -u M.out 14.out 14diff.out
compare_change 14diff.out expected
check_cache_at nitfol clean'
@@ -229,7 +229,7 @@ test_expect_success \
git-update-cache --add nitfol
echo nitfol nitfol nitfol nitfol
read_tree_twoway $treeH $treeM
- git-ls-files --stage 15.out || exit
+ git-ls-files --stage 15.out || return 1
diff -u M.out 15.out 15diff.out
compare_change 15diff.out expected
check_cache_at nitfol dirty'
diff --git a/t/t1002-read-tree-m-u-2way.sh b/t/t1002-read-tree-m-u-2way.sh
--- a/t/t1002-read-tree-m-u-2way.sh
+++ b/t/t1002-read-tree-m-u-2way.sh
@@ -73,7 +73,7 @@ test_expect_success \
'rm -f .git/index
git-update-cache --add yomin
git-read-tree -m -u $treeH $treeM
- git-ls-files --stage 4.out || exit
+ git-ls-files --stage 4.out || return 1
diff --unified=0 M.out 4.out 4diff.out
compare_change 4diff.out expected
check_cache_at yomin clean
@@ -90,7 +90,7 @@ test_expect_success \
git-update-cache --add yomin
echo yomin yomin yomin
git-read-tree -m -u $treeH $treeM
- git-ls-files --stage 5.out || exit
+ git-ls-files --stage 5.out || return 1
diff --unified=0 M.out 5.out 5diff.out
compare_change 5diff.out expected
check_cache_at yomin dirty
@@ -192,7 +192,7 @@ test_expect_success \
echo nitfol nitfol nitfol
git-update-cache --add nitfol
git-read-tree -m -u $treeH $treeM
- git-ls-files --stage 14.out || exit
+ git-ls-files --stage 14.out || return 1
diff --unified=0 M.out 14.out 14diff.out
compare_change 14diff.out expected
sum bozbar frotz actual14.sum
@@ -212,7 +212,7 @@ test_expect_success \
git-update-cache --add nitfol
echo nitfol nitfol nitfol nitfol
git-read-tree -m -u $treeH $treeM
- git-ls-files --stage 15.out || exit
+ git-ls-files --stage 15.out || return 1
diff --unified=0 M.out 15.out 15diff.out
compare_change 15diff.out expected
check_cache_at nitfol dirty
diff --git a/t/t1005-read-tree-m-2way-emu23.sh
b/t/t1005-read-tree-m-2way-emu23.sh
--- a/t/t1005-read-tree-m-2way-emu23.sh
+++ b/t/t1005-read-tree-m-2way-emu23.sh
@@ -120,7 +120,7 @@ test_expect_success \
git-checkout-cache -u -f -q -a
git-update-cache --add yomin
read_tree_twoway $treeH $treeM
- git-ls-files --stage 4.out || exit
+ git-ls-files --stage 4.out || return 1
diff -u M.out 4.out 4diff.out
compare_change 4diff.out expected
check_cache_at yomin clean'
@@ -136,7 +136,7 @@ test_expect_success \
git-update-cache --add yomin
echo yomin yomin yomin
read_tree_twoway