test-lib-functions: move function to lib-bitmap.sh
Move a function added to test-lib-functions.sh in ea047a8eb4
(t5310:
factor out bitmap traversal comparison, 2020-02-14) into a new
lib-bitmap.sh.
The test-lib-functions.sh file should be for functions that are widely
used across the test suite, if something's only used by a few tests it
makes more sense to have it in a lib-*.sh file.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
3fca1fc651
commit
ddfe900612
26
t/lib-bitmap.sh
Normal file
26
t/lib-bitmap.sh
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
# Compare a file containing rev-list bitmap traversal output to its non-bitmap
|
||||||
|
# counterpart. You can't just use test_cmp for this, because the two produce
|
||||||
|
# subtly different output:
|
||||||
|
#
|
||||||
|
# - regular output is in traversal order, whereas bitmap is split by type,
|
||||||
|
# with non-packed objects at the end
|
||||||
|
#
|
||||||
|
# - regular output has a space and the pathname appended to non-commit
|
||||||
|
# objects; bitmap output omits this
|
||||||
|
#
|
||||||
|
# This function normalizes and compares the two. The second file should
|
||||||
|
# always be the bitmap output.
|
||||||
|
test_bitmap_traversal () {
|
||||||
|
if test "$1" = "--no-confirm-bitmaps"
|
||||||
|
then
|
||||||
|
shift
|
||||||
|
elif cmp "$1" "$2"
|
||||||
|
then
|
||||||
|
echo >&2 "identical raw outputs; are you sure bitmaps were used?"
|
||||||
|
return 1
|
||||||
|
fi &&
|
||||||
|
cut -d' ' -f1 "$1" | sort >"$1.normalized" &&
|
||||||
|
sort "$2" >"$2.normalized" &&
|
||||||
|
test_cmp "$1.normalized" "$2.normalized" &&
|
||||||
|
rm -f "$1.normalized" "$2.normalized"
|
||||||
|
}
|
@ -5,6 +5,8 @@ GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=master
|
|||||||
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
|
export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
|
||||||
|
|
||||||
. ./test-lib.sh
|
. ./test-lib.sh
|
||||||
|
. "$TEST_DIRECTORY"/lib-bundle.sh
|
||||||
|
. "$TEST_DIRECTORY"/lib-bitmap.sh
|
||||||
|
|
||||||
objpath () {
|
objpath () {
|
||||||
echo ".git/objects/$(echo "$1" | sed -e 's|\(..\)|\1/|')"
|
echo ".git/objects/$(echo "$1" | sed -e 's|\(..\)|\1/|')"
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
test_description='rev-list combining bitmaps and filters'
|
test_description='rev-list combining bitmaps and filters'
|
||||||
. ./test-lib.sh
|
. ./test-lib.sh
|
||||||
|
. "$TEST_DIRECTORY"/lib-bitmap.sh
|
||||||
|
|
||||||
test_expect_success 'set up bitmapped repo' '
|
test_expect_success 'set up bitmapped repo' '
|
||||||
# one commit will have bitmaps, the other will not
|
# one commit will have bitmaps, the other will not
|
||||||
|
@ -1602,33 +1602,6 @@ test_set_port () {
|
|||||||
eval $var=$port
|
eval $var=$port
|
||||||
}
|
}
|
||||||
|
|
||||||
# Compare a file containing rev-list bitmap traversal output to its non-bitmap
|
|
||||||
# counterpart. You can't just use test_cmp for this, because the two produce
|
|
||||||
# subtly different output:
|
|
||||||
#
|
|
||||||
# - regular output is in traversal order, whereas bitmap is split by type,
|
|
||||||
# with non-packed objects at the end
|
|
||||||
#
|
|
||||||
# - regular output has a space and the pathname appended to non-commit
|
|
||||||
# objects; bitmap output omits this
|
|
||||||
#
|
|
||||||
# This function normalizes and compares the two. The second file should
|
|
||||||
# always be the bitmap output.
|
|
||||||
test_bitmap_traversal () {
|
|
||||||
if test "$1" = "--no-confirm-bitmaps"
|
|
||||||
then
|
|
||||||
shift
|
|
||||||
elif cmp "$1" "$2"
|
|
||||||
then
|
|
||||||
echo >&2 "identical raw outputs; are you sure bitmaps were used?"
|
|
||||||
return 1
|
|
||||||
fi &&
|
|
||||||
cut -d' ' -f1 "$1" | sort >"$1.normalized" &&
|
|
||||||
sort "$2" >"$2.normalized" &&
|
|
||||||
test_cmp "$1.normalized" "$2.normalized" &&
|
|
||||||
rm -f "$1.normalized" "$2.normalized"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Tests for the hidden file attribute on Windows
|
# Tests for the hidden file attribute on Windows
|
||||||
test_path_is_hidden () {
|
test_path_is_hidden () {
|
||||||
test_have_prereq MINGW ||
|
test_have_prereq MINGW ||
|
||||||
|
Loading…
Reference in New Issue
Block a user