mirror of
https://github.com/git/git
synced 2024-08-24 18:26:02 +00:00
![Martin Ågren](/assets/img/avatar_default.png)
In the test scripts, the recommended style is, e.g.: test_expect_success 'name' ' do-something somehow && do-some-more testing ' When using this style, any single quote in the multi-line test section is actually closing the lone single quotes that surround it. It can be a non-issue in practice: test_expect_success 'sed a little' ' sed -e 's/hi/lo/' in >out # "ok": no whitespace in s/hi/lo/ ' Or it can be a bug in the test, e.g., because variable interpolation happens before the test even begins executing: v=abc test_expect_success 'variable interpolation' ' v=def && echo '"$v"' # abc ' Change several such in-test single quotes to use double quotes instead or, in a few cases, drop them altogether. These were identified using some crude grepping. We're not fixing any test bugs here, but we're hopefully making these tests slightly easier to grok and to maintain. There are legitimate use cases for closing a quote and opening a new one, e.g., both '\'' and '"'"' can be used to produce a literal single quote. I'm not touching any of those here. In t9401, tuck the redirecting ">" to the filename while we're touching those lines. Signed-off-by: Martin Ågren <martin.agren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
78 lines
2.5 KiB
Bash
Executable file
78 lines
2.5 KiB
Bash
Executable file
#!/bin/sh
|
|
#
|
|
# Copyright (c) 2005 Junio C Hamano
|
|
#
|
|
|
|
test_description='Same rename detection as t4003 but testing diff-raw.'
|
|
|
|
. ./test-lib.sh
|
|
. "$TEST_DIRECTORY"/diff-lib.sh ;# test-lib chdir's into trash
|
|
|
|
test_expect_success 'setup reference tree' '
|
|
cat "$TEST_DIRECTORY"/diff-lib/COPYING >COPYING &&
|
|
echo frotz >rezrov &&
|
|
git update-index --add COPYING rezrov &&
|
|
tree=$(git write-tree) &&
|
|
echo $tree &&
|
|
sed -e "s/HOWEVER/However/" <COPYING >COPYING.1 &&
|
|
sed -e "s/GPL/G.P.L/g" <COPYING >COPYING.2 &&
|
|
origoid=$(git hash-object COPYING) &&
|
|
oid1=$(git hash-object COPYING.1) &&
|
|
oid2=$(git hash-object COPYING.2)
|
|
'
|
|
|
|
################################################################
|
|
# tree has COPYING and rezrov. work tree has COPYING.1 and COPYING.2,
|
|
# both are slightly edited, and unchanged rezrov. We say COPYING.1
|
|
# and COPYING.2 are based on COPYING, and do not say anything about
|
|
# rezrov.
|
|
|
|
test_expect_success 'validate output from rename/copy detection (#1)' '
|
|
rm -f COPYING &&
|
|
git update-index --add --remove COPYING COPYING.? &&
|
|
|
|
cat <<-EOF >expected &&
|
|
:100644 100644 $origoid $oid1 C1234 COPYING COPYING.1
|
|
:100644 100644 $origoid $oid2 R1234 COPYING COPYING.2
|
|
EOF
|
|
git diff-index -C $tree >current &&
|
|
compare_diff_raw expected current
|
|
'
|
|
|
|
################################################################
|
|
# tree has COPYING and rezrov. work tree has COPYING and COPYING.1,
|
|
# both are slightly edited, and unchanged rezrov. We say COPYING.1
|
|
# is based on COPYING and COPYING is still there, and do not say anything
|
|
# about rezrov.
|
|
|
|
test_expect_success 'validate output from rename/copy detection (#2)' '
|
|
mv COPYING.2 COPYING &&
|
|
git update-index --add --remove COPYING COPYING.1 COPYING.2 &&
|
|
|
|
cat <<-EOF >expected &&
|
|
:100644 100644 $origoid $oid2 M COPYING
|
|
:100644 100644 $origoid $oid1 C1234 COPYING COPYING.1
|
|
EOF
|
|
git diff-index -C $tree >current &&
|
|
compare_diff_raw current expected
|
|
'
|
|
|
|
################################################################
|
|
# tree has COPYING and rezrov. work tree has the same COPYING and
|
|
# copy-edited COPYING.1, and unchanged rezrov. We should not say
|
|
# anything about rezrov or COPYING, since the revised again diff-raw
|
|
# nows how to say Copy.
|
|
|
|
test_expect_success 'validate output from rename/copy detection (#3)' '
|
|
cat "$TEST_DIRECTORY"/diff-lib/COPYING >COPYING &&
|
|
git update-index --add --remove COPYING COPYING.1 &&
|
|
|
|
cat <<-EOF >expected &&
|
|
:100644 100644 $origoid $oid1 C1234 COPYING COPYING.1
|
|
EOF
|
|
git diff-index -C --find-copies-harder $tree >current &&
|
|
compare_diff_raw current expected
|
|
'
|
|
|
|
test_done
|