From edb0c724287a0ee7cefa11f28ef43d8c5cfa1985 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Tue, 31 May 2005 14:47:25 -0700 Subject: [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 Signed-off-by: Linus Torvalds --- t/diff-lib.sh | 35 +++++++++++++++++++++++++++++++++++ t/t4003-diff-rename-1.sh | 9 +-------- t/t4005-diff-rename-2.sh | 23 +---------------------- t/t4007-rename-3.sh | 15 +-------------- t/t4008-diff-break-rewrite.sh | 15 +-------------- t/t4009-diff-rename-4.sh | 29 ++++------------------------- 6 files changed, 43 insertions(+), 83 deletions(-) create mode 100644 t/diff-lib.sh diff --git a/t/diff-lib.sh b/t/diff-lib.sh new file mode 100644 index 0000000000..a912f435aa --- /dev/null +++ b/t/diff-lib.sh @@ -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 +} diff --git a/t/t4003-diff-rename-1.sh b/t/t4003-diff-rename-1.sh index c5f325577d..7a5f73a310 100644 --- a/t/t4003-diff-rename-1.sh +++ b/t/t4003-diff-rename-1.sh @@ -7,14 +7,7 @@ test_description='More rename detection ' . ./test-lib.sh - -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 -} +. ../diff-lib.sh ;# test-lib chdir's into trash test_expect_success \ 'prepare reference tree' \ diff --git a/t/t4005-diff-rename-2.sh b/t/t4005-diff-rename-2.sh index 5ac29d1f98..fa2b1556b2 100644 --- a/t/t4005-diff-rename-2.sh +++ b/t/t4005-diff-rename-2.sh @@ -7,28 +7,7 @@ test_description='Same rename detection as t4003 but testing diff-raw. ' . ./test-lib.sh - -_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 -} +. ../diff-lib.sh ;# test-lib chdir's into trash test_expect_success \ 'prepare reference tree' \ diff --git a/t/t4007-rename-3.sh b/t/t4007-rename-3.sh index 76ae7201f0..a55d6b65d1 100644 --- a/t/t4007-rename-3.sh +++ b/t/t4007-rename-3.sh @@ -7,20 +7,7 @@ test_description='Rename interaction with pathspec. ' . ./test-lib.sh - -_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 -} +. ../diff-lib.sh ;# test-lib chdir's into trash test_expect_success \ 'prepare reference tree' \ diff --git a/t/t4008-diff-break-rewrite.sh b/t/t4008-diff-break-rewrite.sh index 7189462a9e..94205b94ae 100644 --- a/t/t4008-diff-break-rewrite.sh +++ b/t/t4008-diff-break-rewrite.sh @@ -22,20 +22,7 @@ four changes in total. Further, with -B and -M together, these should turn into two renames. ' . ./test-lib.sh - -_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 -} +. ../diff-lib.sh ;# test-lib chdir's into trash test_expect_success \ setup \ diff --git a/t/t4009-diff-rename-4.sh b/t/t4009-diff-rename-4.sh index 01d2766926..7d8ca6dc35 100644 --- a/t/t4009-diff-rename-4.sh +++ b/t/t4009-diff-rename-4.sh @@ -7,28 +7,7 @@ test_description='Same rename detection as t4003 but testing diff-raw -z. ' . ./test-lib.sh - -_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 -} +. ../diff-lib.sh ;# test-lib chdir's into trash test_expect_success \ 'prepare reference tree' \ @@ -63,7 +42,7 @@ EOF test_expect_success \ '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. mv current diff-raw @@ -120,7 +99,7 @@ EOF test_expect_success \ '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. mv current diff-raw @@ -173,7 +152,7 @@ EOF test_expect_success \ '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. mv current diff-raw -- cgit v1.2.1