t4119: test autocomputing -p<n> for traditional diff input.

Signed-off-by: Junio C Hamano <junkio@cox.net>
maint
Junio C Hamano 2007-02-21 16:18:45 -08:00
parent 3e8a5db966
commit fe6e0eecb0
1 changed files with 45 additions and 76 deletions

View File

@ -33,6 +33,20 @@ sed -e '
/^+++ /s|file1|b/sub/&| /^+++ /s|file1|b/sub/&|
' gpatch.file >gpatch-ab-sub.file && ' gpatch.file >gpatch-ab-sub.file &&


check_result () {
if grep " " "$1"
then
echo "Eh?"
false
elif grep B "$1"
then
echo Happy
else
echo "Huh?"
false
fi
}

test_expect_success 'apply --whitespace=strip' ' test_expect_success 'apply --whitespace=strip' '


rm -f sub/file1 && rm -f sub/file1 &&
@ -40,17 +54,7 @@ test_expect_success 'apply --whitespace=strip' '
git update-index --refresh && git update-index --refresh &&


git apply --whitespace=strip patch.file && git apply --whitespace=strip patch.file &&
if grep " " sub/file1 check_result sub/file1
then
echo "Eh?"
false
elif grep B sub/file1
then
echo Happy
else
echo "Huh?"
false
fi
' '


test_expect_success 'apply --whitespace=strip from config' ' test_expect_success 'apply --whitespace=strip from config' '
@ -61,16 +65,7 @@ test_expect_success 'apply --whitespace=strip from config' '


git config apply.whitespace strip && git config apply.whitespace strip &&
git apply patch.file && git apply patch.file &&
if grep " " sub/file1 check_result sub/file1
then
echo "Eh?"
false
elif grep B sub/file1
then
echo Happy
else
echo Happy
fi
' '


D=`pwd` D=`pwd`
@ -85,17 +80,7 @@ test_expect_success 'apply --whitespace=strip in subdir' '


cd sub && cd sub &&
git apply --whitespace=strip ../patch.file && git apply --whitespace=strip ../patch.file &&
if grep " " file1 check_result file1
then
echo "Eh?"
false
elif grep B file1
then
echo Happy
else
echo "Huh?"
false
fi
' '


test_expect_success 'apply --whitespace=strip from config in subdir' ' test_expect_success 'apply --whitespace=strip from config in subdir' '
@ -108,17 +93,7 @@ test_expect_success 'apply --whitespace=strip from config in subdir' '


cd sub && cd sub &&
git apply ../patch.file && git apply ../patch.file &&
if grep " " file1 check_result file1
then
echo "Eh?"
false
elif grep B file1
then
echo Happy
else
echo "Huh?"
false
fi
' '


test_expect_success 'same in subdir but with traditional patch input' ' test_expect_success 'same in subdir but with traditional patch input' '
@ -131,17 +106,7 @@ test_expect_success 'same in subdir but with traditional patch input' '


cd sub && cd sub &&
git apply ../gpatch.file && git apply ../gpatch.file &&
if grep " " file1 check_result file1
then
echo "Eh?"
false
elif grep B file1
then
echo Happy
else
echo "Huh?"
false
fi
' '


test_expect_success 'same but with traditional patch input of depth 1' ' test_expect_success 'same but with traditional patch input of depth 1' '
@ -154,17 +119,7 @@ test_expect_success 'same but with traditional patch input of depth 1' '


cd sub && cd sub &&
git apply ../gpatch-sub.file && git apply ../gpatch-sub.file &&
if grep " " file1 check_result file1
then
echo "Eh?"
false
elif grep B file1
then
echo Happy
else
echo "Huh?"
false
fi
' '


test_expect_success 'same but with traditional patch input of depth 2' ' test_expect_success 'same but with traditional patch input of depth 2' '
@ -177,17 +132,31 @@ test_expect_success 'same but with traditional patch input of depth 2' '


cd sub && cd sub &&
git apply ../gpatch-ab-sub.file && git apply ../gpatch-ab-sub.file &&
if grep " " file1 check_result file1
then '
echo "Eh?"
false test_expect_success 'same but with traditional patch input of depth 1' '
elif grep B file1
then cd "$D" &&
echo Happy git config apply.whitespace strip &&
else rm -f sub/file1 &&
echo "Huh?" cp saved sub/file1 &&
false git update-index --refresh &&
fi
git apply -p0 gpatch-sub.file &&
check_result sub/file1
'

test_expect_success 'same but with traditional patch input of depth 2' '

cd "$D" &&
git config apply.whitespace strip &&
rm -f sub/file1 &&
cp saved sub/file1 &&
git update-index --refresh &&

git apply gpatch-ab-sub.file &&
check_result sub/file1
' '


test_done test_done