mirror of
https://github.com/git/git.git
synced 2024-11-25 02:44:48 +08:00
[PATCH] diff: consolidate test helper script pieces.
There were duplicate script pieces to help comparing diff output, which this patch consolidates into the t/diff-lib.sh library. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
1d9e6f92bc
commit
edb0c72428
35
t/diff-lib.sh
Normal file
35
t/diff-lib.sh
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
:
|
||||||
|
|
||||||
|
_x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]'
|
||||||
|
_x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40"
|
||||||
|
sanitize_diff_raw='/^:/s/ '"$_x40"' '"$_x40"' \([A-Z]\)[0-9]* / X X \1# /'
|
||||||
|
compare_diff_raw () {
|
||||||
|
# When heuristics are improved, the score numbers would change.
|
||||||
|
# Ignore them while comparing.
|
||||||
|
# Also we do not check SHA1 hash generation in this test, which
|
||||||
|
# is a job for t0000-basic.sh
|
||||||
|
|
||||||
|
sed -e "$sanitize_diff_raw" <"$1" >.tmp-1
|
||||||
|
sed -e "$sanitize_diff_raw" <"$2" >.tmp-2
|
||||||
|
diff -u .tmp-1 .tmp-2 && rm -f .tmp-1 .tmp-2
|
||||||
|
}
|
||||||
|
|
||||||
|
sanitize_diff_raw_z='/^:/s/ '"$_x40"' '"$_x40"' \([A-Z]\)[0-9]*$/ X X \1#/'
|
||||||
|
compare_diff_raw_z () {
|
||||||
|
# When heuristics are improved, the score numbers would change.
|
||||||
|
# Ignore them while comparing.
|
||||||
|
# Also we do not check SHA1 hash generation in this test, which
|
||||||
|
# is a job for t0000-basic.sh
|
||||||
|
|
||||||
|
tr '\0' '\012' <"$1" | sed -e "$sanitize_diff_raw_z" >.tmp-1
|
||||||
|
tr '\0' '\012' <"$2" | sed -e "$sanitize_diff_raw_z" >.tmp-2
|
||||||
|
diff -u .tmp-1 .tmp-2 && rm -f .tmp-1 .tmp-2
|
||||||
|
}
|
||||||
|
|
||||||
|
compare_diff_patch () {
|
||||||
|
# When heuristics are improved, the score numbers would change.
|
||||||
|
# Ignore them while comparing.
|
||||||
|
sed -e '/^[dis]*imilarity index [0-9]*%$/d' <"$1" >.tmp-1
|
||||||
|
sed -e '/^[dis]*imilarity index [0-9]*%$/d' <"$2" >.tmp-2
|
||||||
|
diff -u .tmp-1 .tmp-2 && rm -f .tmp-1 .tmp-2
|
||||||
|
}
|
@ -7,14 +7,7 @@ test_description='More rename detection
|
|||||||
|
|
||||||
'
|
'
|
||||||
. ./test-lib.sh
|
. ./test-lib.sh
|
||||||
|
. ../diff-lib.sh ;# test-lib chdir's into trash
|
||||||
compare_diff_patch () {
|
|
||||||
# When heuristics are improved, the score numbers would change.
|
|
||||||
# Ignore them while comparing.
|
|
||||||
sed -e '/^similarity index [0-9]*%$/d' <"$1" >.tmp-1
|
|
||||||
sed -e '/^similarity index [0-9]*%$/d' <"$2" >.tmp-2
|
|
||||||
diff -u .tmp-1 .tmp-2 && rm -f .tmp-1 .tmp-2
|
|
||||||
}
|
|
||||||
|
|
||||||
test_expect_success \
|
test_expect_success \
|
||||||
'prepare reference tree' \
|
'prepare reference tree' \
|
||||||
|
@ -7,28 +7,7 @@ test_description='Same rename detection as t4003 but testing diff-raw.
|
|||||||
|
|
||||||
'
|
'
|
||||||
. ./test-lib.sh
|
. ./test-lib.sh
|
||||||
|
. ../diff-lib.sh ;# test-lib chdir's into trash
|
||||||
_x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]'
|
|
||||||
_x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40"
|
|
||||||
sanitize_diff_raw='s/ '"$_x40"' '"$_x40"' \([A-Z]\)[0-9]* / X X \1# /'
|
|
||||||
compare_diff_raw () {
|
|
||||||
# When heuristics are improved, the score numbers would change.
|
|
||||||
# Ignore them while comparing.
|
|
||||||
# Also we do not check SHA1 hash generation in this test, which
|
|
||||||
# is a job for t0000-basic.sh
|
|
||||||
|
|
||||||
sed -e "$sanitize_diff_raw" <"$1" >.tmp-1
|
|
||||||
sed -e "$sanitize_diff_raw" <"$2" >.tmp-2
|
|
||||||
diff -u .tmp-1 .tmp-2 && rm -f .tmp-1 .tmp-2
|
|
||||||
}
|
|
||||||
|
|
||||||
compare_diff_patch () {
|
|
||||||
# When heuristics are improved, the score numbers would change.
|
|
||||||
# Ignore them while comparing.
|
|
||||||
sed -e '/^similarity index [0-9]*%$/d' <"$1" >.tmp-1
|
|
||||||
sed -e '/^similarity index [0-9]*%$/d' <"$2" >.tmp-2
|
|
||||||
diff -u .tmp-1 .tmp-2 && rm -f .tmp-1 .tmp-2
|
|
||||||
}
|
|
||||||
|
|
||||||
test_expect_success \
|
test_expect_success \
|
||||||
'prepare reference tree' \
|
'prepare reference tree' \
|
||||||
|
@ -7,20 +7,7 @@ test_description='Rename interaction with pathspec.
|
|||||||
|
|
||||||
'
|
'
|
||||||
. ./test-lib.sh
|
. ./test-lib.sh
|
||||||
|
. ../diff-lib.sh ;# test-lib chdir's into trash
|
||||||
_x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]'
|
|
||||||
_x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40"
|
|
||||||
sanitize_diff_raw='s/ '"$_x40"' '"$_x40"' \([A-Z]\)[0-9]* / X X \1# /'
|
|
||||||
compare_diff_raw () {
|
|
||||||
# When heuristics are improved, the score numbers would change.
|
|
||||||
# Ignore them while comparing.
|
|
||||||
# Also we do not check SHA1 hash generation in this test, which
|
|
||||||
# is a job for t0000-basic.sh
|
|
||||||
|
|
||||||
sed -e "$sanitize_diff_raw" <"$1" >.tmp-1
|
|
||||||
sed -e "$sanitize_diff_raw" <"$2" >.tmp-2
|
|
||||||
diff -u .tmp-1 .tmp-2 && rm -f .tmp-1 .tmp-2
|
|
||||||
}
|
|
||||||
|
|
||||||
test_expect_success \
|
test_expect_success \
|
||||||
'prepare reference tree' \
|
'prepare reference tree' \
|
||||||
|
@ -22,20 +22,7 @@ four changes in total.
|
|||||||
Further, with -B and -M together, these should turn into two renames.
|
Further, with -B and -M together, these should turn into two renames.
|
||||||
'
|
'
|
||||||
. ./test-lib.sh
|
. ./test-lib.sh
|
||||||
|
. ../diff-lib.sh ;# test-lib chdir's into trash
|
||||||
_x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]'
|
|
||||||
_x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40"
|
|
||||||
sanitize_diff_raw='s/ '"$_x40"' '"$_x40"' \([CDNR]\)[0-9]* / X X \1# /'
|
|
||||||
compare_diff_raw () {
|
|
||||||
# When heuristics are improved, the score numbers would change.
|
|
||||||
# Ignore them while comparing.
|
|
||||||
# Also we do not check SHA1 hash generation in this test, which
|
|
||||||
# is a job for t0000-basic.sh
|
|
||||||
|
|
||||||
sed -e "$sanitize_diff_raw" <"$1" >.tmp-1
|
|
||||||
sed -e "$sanitize_diff_raw" <"$2" >.tmp-2
|
|
||||||
diff -u .tmp-1 .tmp-2 && rm -f .tmp-1 .tmp-2
|
|
||||||
}
|
|
||||||
|
|
||||||
test_expect_success \
|
test_expect_success \
|
||||||
setup \
|
setup \
|
||||||
|
@ -7,28 +7,7 @@ test_description='Same rename detection as t4003 but testing diff-raw -z.
|
|||||||
|
|
||||||
'
|
'
|
||||||
. ./test-lib.sh
|
. ./test-lib.sh
|
||||||
|
. ../diff-lib.sh ;# test-lib chdir's into trash
|
||||||
_x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]'
|
|
||||||
_x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40"
|
|
||||||
sanitize_diff_raw='/^:/s/ '"$_x40"' '"$_x40"' \([A-Z]\)[0-9]*$/ X X \1#/'
|
|
||||||
compare_diff_raw () {
|
|
||||||
# When heuristics are improved, the score numbers would change.
|
|
||||||
# Ignore them while comparing.
|
|
||||||
# Also we do not check SHA1 hash generation in this test, which
|
|
||||||
# is a job for t0000-basic.sh
|
|
||||||
|
|
||||||
tr '\0' '\012' <"$1" | sed -e "$sanitize_diff_raw" >.tmp-1
|
|
||||||
tr '\0' '\012' <"$2" | sed -e "$sanitize_diff_raw" >.tmp-2
|
|
||||||
diff -u .tmp-1 .tmp-2 && rm -f .tmp-1 .tmp-2
|
|
||||||
}
|
|
||||||
|
|
||||||
compare_diff_patch () {
|
|
||||||
# When heuristics are improved, the score numbers would change.
|
|
||||||
# Ignore them while comparing.
|
|
||||||
sed -e '/^similarity index [0-9]*%$/d' <"$1" >.tmp-1
|
|
||||||
sed -e '/^similarity index [0-9]*%$/d' <"$2" >.tmp-2
|
|
||||||
diff -u .tmp-1 .tmp-2 && rm -f .tmp-1 .tmp-2
|
|
||||||
}
|
|
||||||
|
|
||||||
test_expect_success \
|
test_expect_success \
|
||||||
'prepare reference tree' \
|
'prepare reference tree' \
|
||||||
@ -63,7 +42,7 @@ EOF
|
|||||||
|
|
||||||
test_expect_success \
|
test_expect_success \
|
||||||
'validate output from rename/copy detection (#1)' \
|
'validate output from rename/copy detection (#1)' \
|
||||||
'compare_diff_raw current expected'
|
'compare_diff_raw_z current expected'
|
||||||
|
|
||||||
# make sure diff-helper can grok it.
|
# make sure diff-helper can grok it.
|
||||||
mv current diff-raw
|
mv current diff-raw
|
||||||
@ -120,7 +99,7 @@ EOF
|
|||||||
|
|
||||||
test_expect_success \
|
test_expect_success \
|
||||||
'validate output from rename/copy detection (#2)' \
|
'validate output from rename/copy detection (#2)' \
|
||||||
'compare_diff_raw current expected'
|
'compare_diff_raw_z current expected'
|
||||||
|
|
||||||
# make sure diff-helper can grok it.
|
# make sure diff-helper can grok it.
|
||||||
mv current diff-raw
|
mv current diff-raw
|
||||||
@ -173,7 +152,7 @@ EOF
|
|||||||
|
|
||||||
test_expect_success \
|
test_expect_success \
|
||||||
'validate output from rename/copy detection (#3)' \
|
'validate output from rename/copy detection (#3)' \
|
||||||
'compare_diff_raw current expected'
|
'compare_diff_raw_z current expected'
|
||||||
|
|
||||||
# make sure diff-helper can grok it.
|
# make sure diff-helper can grok it.
|
||||||
mv current diff-raw
|
mv current diff-raw
|
||||||
|
Loading…
Reference in New Issue
Block a user