t5304: use helper to report failure of "test foo = bar"
For small outputs, we sometimes use: test "$(some_cmd)" = "something we expect" instead of a full test_cmp. The downside of this is that when it fails, there is no output at all from the script. Let's introduce a small helper to make tests easier to debug. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
f1dd90bd19
commit
8ad1652418
|
@ -13,7 +13,7 @@ add_blob() {
|
||||||
before=$(git count-objects | sed "s/ .*//") &&
|
before=$(git count-objects | sed "s/ .*//") &&
|
||||||
BLOB=$(echo aleph_0 | git hash-object -w --stdin) &&
|
BLOB=$(echo aleph_0 | git hash-object -w --stdin) &&
|
||||||
BLOB_FILE=.git/objects/$(echo $BLOB | sed "s/^../&\//") &&
|
BLOB_FILE=.git/objects/$(echo $BLOB | sed "s/^../&\//") &&
|
||||||
test $((1 + $before)) = $(git count-objects | sed "s/ .*//") &&
|
verbose test $((1 + $before)) = $(git count-objects | sed "s/ .*//") &&
|
||||||
test_path_is_file $BLOB_FILE &&
|
test_path_is_file $BLOB_FILE &&
|
||||||
test-chmtime =+0 $BLOB_FILE
|
test-chmtime =+0 $BLOB_FILE
|
||||||
}
|
}
|
||||||
|
@ -45,11 +45,11 @@ test_expect_success 'prune --expire' '
|
||||||
|
|
||||||
add_blob &&
|
add_blob &&
|
||||||
git prune --expire=1.hour.ago &&
|
git prune --expire=1.hour.ago &&
|
||||||
test $((1 + $before)) = $(git count-objects | sed "s/ .*//") &&
|
verbose test $((1 + $before)) = $(git count-objects | sed "s/ .*//") &&
|
||||||
test_path_is_file $BLOB_FILE &&
|
test_path_is_file $BLOB_FILE &&
|
||||||
test-chmtime =-86500 $BLOB_FILE &&
|
test-chmtime =-86500 $BLOB_FILE &&
|
||||||
git prune --expire 1.day &&
|
git prune --expire 1.day &&
|
||||||
test $before = $(git count-objects | sed "s/ .*//") &&
|
verbose test $before = $(git count-objects | sed "s/ .*//") &&
|
||||||
test_path_is_missing $BLOB_FILE
|
test_path_is_missing $BLOB_FILE
|
||||||
|
|
||||||
'
|
'
|
||||||
|
@ -59,11 +59,11 @@ test_expect_success 'gc: implicit prune --expire' '
|
||||||
add_blob &&
|
add_blob &&
|
||||||
test-chmtime =-$((2*$week-30)) $BLOB_FILE &&
|
test-chmtime =-$((2*$week-30)) $BLOB_FILE &&
|
||||||
git gc &&
|
git gc &&
|
||||||
test $((1 + $before)) = $(git count-objects | sed "s/ .*//") &&
|
verbose test $((1 + $before)) = $(git count-objects | sed "s/ .*//") &&
|
||||||
test_path_is_file $BLOB_FILE &&
|
test_path_is_file $BLOB_FILE &&
|
||||||
test-chmtime =-$((2*$week+1)) $BLOB_FILE &&
|
test-chmtime =-$((2*$week+1)) $BLOB_FILE &&
|
||||||
git gc &&
|
git gc &&
|
||||||
test $before = $(git count-objects | sed "s/ .*//") &&
|
verbose test $before = $(git count-objects | sed "s/ .*//") &&
|
||||||
test_path_is_missing $BLOB_FILE
|
test_path_is_missing $BLOB_FILE
|
||||||
|
|
||||||
'
|
'
|
||||||
|
@ -144,7 +144,7 @@ test_expect_success 'gc --no-prune' '
|
||||||
test-chmtime =-$((5001*$day)) $BLOB_FILE &&
|
test-chmtime =-$((5001*$day)) $BLOB_FILE &&
|
||||||
git config gc.pruneExpire 2.days.ago &&
|
git config gc.pruneExpire 2.days.ago &&
|
||||||
git gc --no-prune &&
|
git gc --no-prune &&
|
||||||
test 1 = $(git count-objects | sed "s/ .*//") &&
|
verbose test 1 = $(git count-objects | sed "s/ .*//") &&
|
||||||
test_path_is_file $BLOB_FILE
|
test_path_is_file $BLOB_FILE
|
||||||
|
|
||||||
'
|
'
|
||||||
|
@ -209,10 +209,10 @@ test_expect_success 'gc: prune old objects after local clone' '
|
||||||
git clone --no-hardlinks . aclone &&
|
git clone --no-hardlinks . aclone &&
|
||||||
(
|
(
|
||||||
cd aclone &&
|
cd aclone &&
|
||||||
test 1 = $(git count-objects | sed "s/ .*//") &&
|
verbose test 1 = $(git count-objects | sed "s/ .*//") &&
|
||||||
test_path_is_file $BLOB_FILE &&
|
test_path_is_file $BLOB_FILE &&
|
||||||
git gc --prune &&
|
git gc --prune &&
|
||||||
test 0 = $(git count-objects | sed "s/ .*//") &&
|
verbose test 0 = $(git count-objects | sed "s/ .*//") &&
|
||||||
test_path_is_missing $BLOB_FILE
|
test_path_is_missing $BLOB_FILE
|
||||||
)
|
)
|
||||||
'
|
'
|
||||||
|
|
|
@ -634,6 +634,15 @@ test_cmp_bin() {
|
||||||
cmp "$@"
|
cmp "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Call any command "$@" but be more verbose about its
|
||||||
|
# failure. This is handy for commands like "test" which do
|
||||||
|
# not output anything when they fail.
|
||||||
|
verbose () {
|
||||||
|
"$@" && return 0
|
||||||
|
echo >&2 "command failed: $(git rev-parse --sq-quote "$@")"
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
# Check if the file expected to be empty is indeed empty, and barfs
|
# Check if the file expected to be empty is indeed empty, and barfs
|
||||||
# otherwise.
|
# otherwise.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue