Browse Source

[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>
maint
Junio C Hamano 20 years ago committed by Linus Torvalds
parent
commit
edb0c72428
  1. 35
      t/diff-lib.sh
  2. 9
      t/t4003-diff-rename-1.sh
  3. 23
      t/t4005-diff-rename-2.sh
  4. 15
      t/t4007-rename-3.sh
  5. 15
      t/t4008-diff-break-rewrite.sh
  6. 29
      t/t4009-diff-rename-4.sh

35
t/diff-lib.sh

@ -0,0 +1,35 @@ @@ -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
}

9
t/t4003-diff-rename-1.sh

@ -7,14 +7,7 @@ test_description='More rename detection @@ -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' \

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

@ -7,28 +7,7 @@ test_description='Same rename detection as t4003 but testing diff-raw. @@ -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' \

15
t/t4007-rename-3.sh

@ -7,20 +7,7 @@ test_description='Rename interaction with pathspec. @@ -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' \

15
t/t4008-diff-break-rewrite.sh

@ -22,20 +22,7 @@ four changes in total. @@ -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 \

29
t/t4009-diff-rename-4.sh

@ -7,28 +7,7 @@ test_description='Same rename detection as t4003 but testing diff-raw -z. @@ -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 @@ -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 @@ -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 @@ -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

Loading…
Cancel
Save