Browse Source

t4005: modernize style and drop hard coded sha1

Use modern style in the test t4005. Remove hard coded sha1 values.
Combine test prep work and the actual test. Rename the first
test to contain the word "setup".

Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Stefan Beller 8 years ago committed by Junio C Hamano
parent
commit
68241cb9dd
  1. 89
      t/t4005-diff-rename-2.sh

89
t/t4005-diff-rename-2.sh

@ -3,84 +3,75 @@
# Copyright (c) 2005 Junio C Hamano # Copyright (c) 2005 Junio C Hamano
# #


test_description='Same rename detection as t4003 but testing diff-raw. test_description='Same rename detection as t4003 but testing diff-raw.'


'
. ./test-lib.sh . ./test-lib.sh
. "$TEST_DIRECTORY"/diff-lib.sh ;# test-lib chdir's into trash . "$TEST_DIRECTORY"/diff-lib.sh ;# test-lib chdir's into trash


test_expect_success \ test_expect_success 'setup reference tree' '
'prepare reference tree' \ cat "$TEST_DIRECTORY"/diff-lib/COPYING >COPYING &&
'cat "$TEST_DIRECTORY"/diff-lib/COPYING >COPYING &&
echo frotz >rezrov && echo frotz >rezrov &&
git update-index --add COPYING rezrov && git update-index --add COPYING rezrov &&
tree=$(git write-tree) && tree=$(git write-tree) &&
echo $tree' echo $tree &&

sed -e 's/HOWEVER/However/' <COPYING >COPYING.1 &&
test_expect_success \
'prepare work tree' \
'sed -e 's/HOWEVER/However/' <COPYING >COPYING.1 &&
sed -e 's/GPL/G.P.L/g' <COPYING >COPYING.2 && sed -e 's/GPL/G.P.L/g' <COPYING >COPYING.2 &&
rm -f COPYING && origoid=$(git hash-object COPYING) &&
git update-index --add --remove COPYING 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, # tree has COPYING and rezrov. work tree has COPYING.1 and COPYING.2,
# both are slightly edited, and unchanged rezrov. We say COPYING.1 # both are slightly edited, and unchanged rezrov. We say COPYING.1
# and COPYING.2 are based on COPYING, and do not say anything about # and COPYING.2 are based on COPYING, and do not say anything about
# rezrov. # rezrov.


git diff-index -C $tree >current test_expect_success 'validate output from rename/copy detection (#1)' '

rm -f COPYING &&
cat >expected <<\EOF git update-index --add --remove COPYING COPYING.? &&
:100644 100644 6ff87c4664981e4397625791c8ea3bbb5f2279a3 0603b3238a076dc6c8022aedc6648fa523a17178 C1234 COPYING COPYING.1
:100644 100644 6ff87c4664981e4397625791c8ea3bbb5f2279a3 06c67961bbaed34a127f76d261f4c0bf73eda471 R1234 COPYING COPYING.2 cat <<-EOF >expected &&
EOF :100644 100644 $origoid $oid1 C1234 COPYING COPYING.1

:100644 100644 $origoid $oid2 R1234 COPYING COPYING.2
test_expect_success \ EOF
'validate output from rename/copy detection (#1)' \ git diff-index -C $tree >current &&
'compare_diff_raw current expected' compare_diff_raw expected current
'


################################################################ ################################################################

test_expect_success \
'prepare work tree again' \
'mv COPYING.2 COPYING &&
git update-index --add --remove COPYING COPYING.1 COPYING.2'

# tree has COPYING and rezrov. work tree has COPYING and COPYING.1, # tree has COPYING and rezrov. work tree has COPYING and COPYING.1,
# both are slightly edited, and unchanged rezrov. We say 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 # is based on COPYING and COPYING is still there, and do not say anything
# about rezrov. # about rezrov.


git diff-index -C $tree >current test_expect_success 'validate output from rename/copy detection (#2)' '
cat >expected <<\EOF mv COPYING.2 COPYING &&
:100644 100644 6ff87c4664981e4397625791c8ea3bbb5f2279a3 06c67961bbaed34a127f76d261f4c0bf73eda471 M COPYING git update-index --add --remove COPYING COPYING.1 COPYING.2 &&
:100644 100644 6ff87c4664981e4397625791c8ea3bbb5f2279a3 0603b3238a076dc6c8022aedc6648fa523a17178 C1234 COPYING COPYING.1
EOF


test_expect_success \ cat <<-EOF >expected &&
'validate output from rename/copy detection (#2)' \ :100644 100644 $origoid $oid2 M COPYING
'compare_diff_raw current expected' :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 # tree has COPYING and rezrov. work tree has the same COPYING and
# copy-edited COPYING.1, and unchanged rezrov. We should not say # copy-edited COPYING.1, and unchanged rezrov. We should not say
# anything about rezrov or COPYING, since the revised again diff-raw # anything about rezrov or COPYING, since the revised again diff-raw
# nows how to say Copy. # nows how to say Copy.


test_expect_success \ test_expect_success 'validate output from rename/copy detection (#3)' '
'prepare work tree once again' \ cat "$TEST_DIRECTORY"/diff-lib/COPYING >COPYING &&
'cat "$TEST_DIRECTORY"/diff-lib/COPYING >COPYING && git update-index --add --remove COPYING COPYING.1 &&
git update-index --add --remove COPYING COPYING.1'

git diff-index -C --find-copies-harder $tree >current
cat >expected <<\EOF
:100644 100644 6ff87c4664981e4397625791c8ea3bbb5f2279a3 0603b3238a076dc6c8022aedc6648fa523a17178 C1234 COPYING COPYING.1
EOF


test_expect_success \ cat <<-EOF >expected &&
'validate output from rename/copy detection (#3)' \ :100644 100644 $origoid $oid1 C1234 COPYING COPYING.1
'compare_diff_raw current expected' EOF
git diff-index -C --find-copies-harder $tree >current &&
compare_diff_raw current expected
'


test_done test_done

Loading…
Cancel
Save