]> git.ipfire.org Git - thirdparty/git.git/commitdiff
test-lib-functions: move function to lib-bitmap.sh
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Tue, 9 Feb 2021 21:41:54 +0000 (22:41 +0100)
committerJunio C Hamano <gitster@pobox.com>
Wed, 10 Feb 2021 21:54:34 +0000 (13:54 -0800)
Move a function added to test-lib-functions.sh in ea047a8eb4f (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>
t/lib-bitmap.sh [new file with mode: 0644]
t/t5310-pack-bitmaps.sh
t/t6113-rev-list-bitmap-filters.sh
t/test-lib-functions.sh

diff --git a/t/lib-bitmap.sh b/t/lib-bitmap.sh
new file mode 100644 (file)
index 0000000..fe3f98b
--- /dev/null
@@ -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"
+}
index 5ba76031090ef3fb27b6e861e5766dfa7ae3c427..40b9f632441446d5042100d2797e9dd80b17f643 100755 (executable)
@@ -5,6 +5,8 @@ GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=master
 export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
 
 . ./test-lib.sh
+. "$TEST_DIRECTORY"/lib-bundle.sh
+. "$TEST_DIRECTORY"/lib-bitmap.sh
 
 objpath () {
        echo ".git/objects/$(echo "$1" | sed -e 's|\(..\)|\1/|')"
index 2b551e6fd0ce1d6706334eaa2a65cda7f9e56618..3f889949ca14dc77eb6b39e5246bea3fe6823fd8 100755 (executable)
@@ -2,6 +2,7 @@
 
 test_description='rev-list combining bitmaps and filters'
 . ./test-lib.sh
+. "$TEST_DIRECTORY"/lib-bitmap.sh
 
 test_expect_success 'set up bitmapped repo' '
        # one commit will have bitmaps, the other will not
index 55d58b4a6acb6f8c944f2ac459fbae528f43e838..f228647c2b8b88f501d32445e7c2340dab9f8c43 100644 (file)
@@ -1602,33 +1602,6 @@ test_set_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
 test_path_is_hidden () {
        test_have_prereq MINGW ||