mirror of
https://github.com/git/git
synced 2024-08-24 18:26:02 +00:00
![Junio C Hamano](/assets/img/avatar_default.png)
Many test scripts assumed that they will start in a 'trash' subdirectory that is a single level down from the t/ directory, and referred to their test vector files by asking for files like "../t9999/expect". This will break if we move the 'trash' subdirectory elsewhere. To solve this, we earlier introduced "$TEST_DIRECTORY" so that they can refer to t/ directory reliably. This finally makes all the tests use it to refer to the outside environment. With this patch, and a one-liner not included here (because it would contradict with what Dscho really wants to do): | diff --git a/t/test-lib.sh b/t/test-lib.sh | index 70ea7e0..60e69e4 100644 | --- a/t/test-lib.sh | +++ b/t/test-lib.sh | @@ -485,7 +485,7 @@ fi | . ../GIT-BUILD-OPTIONS | | # Test repository | -test="trash directory" | +test="trash directory/another level/yet another" | rm -fr "$test" || { | trap - exit | echo >&5 "FATAL: Cannot prepare test area" all the tests still pass, but we would want extra sets of eyeballs on this type of change to really make sure. [jc: with help from Stephan Beyer on http-push tests I do not run myself; credits for locating silly quoting errors go to Olivier Marin.] Signed-off-by: Junio C Hamano <gitster@pobox.com>
68 lines
1.1 KiB
Bash
Executable file
68 lines
1.1 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
test_description='ask merge-recursive to merge binary files'
|
|
|
|
. ./test-lib.sh
|
|
|
|
test_expect_success setup '
|
|
|
|
cat "$TEST_DIRECTORY"/test4012.png >m &&
|
|
git add m &&
|
|
git ls-files -s | sed -e "s/ 0 / 1 /" >E1 &&
|
|
test_tick &&
|
|
git commit -m "initial" &&
|
|
|
|
git branch side &&
|
|
echo frotz >a &&
|
|
git add a &&
|
|
echo nitfol >>m &&
|
|
git add a m &&
|
|
git ls-files -s a >E0 &&
|
|
git ls-files -s m | sed -e "s/ 0 / 3 /" >E3 &&
|
|
test_tick &&
|
|
git commit -m "master adds some" &&
|
|
|
|
git checkout side &&
|
|
echo rezrov >>m &&
|
|
git add m &&
|
|
git ls-files -s m | sed -e "s/ 0 / 2 /" >E2 &&
|
|
test_tick &&
|
|
git commit -m "side modifies" &&
|
|
|
|
git tag anchor &&
|
|
|
|
cat E0 E1 E2 E3 >expect
|
|
'
|
|
|
|
test_expect_success resolve '
|
|
|
|
rm -f a* m* &&
|
|
git reset --hard anchor &&
|
|
|
|
if git merge -s resolve master
|
|
then
|
|
echo Oops, should not have succeeded
|
|
false
|
|
else
|
|
git ls-files -s >current
|
|
test_cmp current expect
|
|
fi
|
|
'
|
|
|
|
test_expect_success recursive '
|
|
|
|
rm -f a* m* &&
|
|
git reset --hard anchor &&
|
|
|
|
if git merge -s recursive master
|
|
then
|
|
echo Oops, should not have succeeded
|
|
false
|
|
else
|
|
git ls-files -s >current
|
|
test_cmp current expect
|
|
fi
|
|
'
|
|
|
|
test_done
|