git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 07/11] test-lib-functions: move function to lib-bitmap.sh

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Feb 12, 2021, 13:29 UTC
Message-ID
<20210212132942.17325-8-avarab@gmail.com>
In-Reply-To
<20210209214159.22815-1-avarab@gmail.com>

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>
---
 t/lib-bitmap.sh                    | 26 ++++++++++++++++++++++++++
 t/t5310-pack-bitmaps.sh            |  2 ++
 t/t6113-rev-list-bitmap-filters.sh |  1 +
 t/test-lib-functions.sh            | 27 ---------------------------
 4 files changed, 29 insertions(+), 27 deletions(-)
 create mode 100644 t/lib-bitmap.sh
diff --git a/t/lib-bitmap.sh b/t/lib-bitmap.sh
new file mode 100644
index 00000000000..fe3f98be24f
--- /dev/null
+++ b/t/lib-bitmap.sh
@@ -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"
+}
diff --git a/t/t5310-pack-bitmaps.sh b/t/t5310-pack-bitmaps.sh
index 5ba76031090..40b9f632441 100755
--- a/t/t5310-pack-bitmaps.sh
+++ b/t/t5310-pack-bitmaps.sh
@@ -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/|')"
diff --git a/t/t6113-rev-list-bitmap-filters.sh b/t/t6113-rev-list-bitmap-filters.sh
index 2b551e6fd0c..3f889949ca1 100755
--- a/t/t6113-rev-list-bitmap-filters.sh
+++ b/t/t6113-rev-list-bitmap-filters.sh
@@ -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
diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh
index 71d4e806f6d..473d2e283e6 100644
--- a/t/test-lib-functions.sh
+++ b/t/test-lib-functions.sh
@@ -1593,33 +1593,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 ||
-- 
2.30.0.284.gd98b1dd5eaa7
Previous: Ævar Arnfjörð BjarmasonNext: Ævar Arnfjörð Bjarmason
Message 34 of 38 in “test-lib: misc improvements”
  1. 00/12 test-lib: misc improvementsÆvar Arnfjörð Bjarmason, Feb 9, 2021
  2. 01/12 test-lib: remove check_var_migrationÆvar Arnfjörð Bjarmason, Feb 9, 2021
  3. Junio C HamanoFeb 10, 2021
  4. 02/12 test lib: change "error" to "BUG" as appropriateÆvar Arnfjörð Bjarmason, Feb 9, 2021
  5. 03/12 test-lib-functions: move test_set_index_version() to its userÆvar Arnfjörð Bjarmason, Feb 9, 2021
  6. 04/12 test-lib-functions: remove generate_zero_bytes() wrapperÆvar Arnfjörð Bjarmason, Feb 9, 2021
  7. 12/12 test-lib-functions: split out {debug,path,text} helpersÆvar Arnfjörð Bjarmason, Feb 9, 2021
  8. Denton LiuFeb 9, 2021
  9. Junio C HamanoFeb 10, 2021
  10. SZEDER GáborFeb 11, 2021
  11. Johannes SchindelinFeb 11, 2021
  12. Ævar Arnfjörð BjarmasonFeb 13, 2021
  13. 05/12 test libs: rename bundle helper to "lib-bundle.sh"Ævar Arnfjörð Bjarmason, Feb 9, 2021
  14. 10/12 test-lib-functions: remove bug-inducing "diagnostics" helper paramÆvar Arnfjörð Bjarmason, Feb 9, 2021
  15. 06/12 test libs: rename gitweb-lib.sh to lib-gitweb.shÆvar Arnfjörð Bjarmason, Feb 9, 2021
  16. 09/12 test libs: rename "diff-lib" to "lib-diff"Ævar Arnfjörð Bjarmason, Feb 9, 2021
  17. Junio C HamanoFeb 10, 2021
  18. Johannes SchindelinFeb 11, 2021
  19. Junio C HamanoFeb 11, 2021
  20. 11/12 test-lib-functions: assert correct parameter countÆvar Arnfjörð Bjarmason, Feb 9, 2021
  21. 08/12 t/.gitattributes: sort linesÆvar Arnfjörð Bjarmason, Feb 9, 2021
  22. 07/12 test-lib-functions: move function to lib-bitmap.shÆvar Arnfjörð Bjarmason, Feb 9, 2021
  23. SZEDER GáborFeb 10, 2021
  24. Jeff KingFeb 10, 2021
  25. SZEDER GáborFeb 11, 2021
  26. 00/11 test-lib: misc improvementsÆvar Arnfjörð Bjarmason, Feb 12, 2021
  27. Junio C HamanoFeb 12, 2021
  28. 02/11 test lib: change "error" to "BUG" as appropriateÆvar Arnfjörð Bjarmason, Feb 12, 2021
  29. 01/11 test-lib: remove check_var_migrationÆvar Arnfjörð Bjarmason, Feb 12, 2021
  30. 03/11 test-lib-functions: move test_set_index_version() to its userÆvar Arnfjörð Bjarmason, Feb 12, 2021
  31. 04/11 test-lib-functions: remove generate_zero_bytes() wrapperÆvar Arnfjörð Bjarmason, Feb 12, 2021
  32. 05/11 test libs: rename bundle helper to "lib-bundle.sh"Ævar Arnfjörð Bjarmason, Feb 12, 2021
  33. 06/11 test libs: rename gitweb-lib.sh to lib-gitweb.shÆvar Arnfjörð Bjarmason, Feb 12, 2021
  34. 07/11 test-lib-functions: move function to lib-bitmap.shÆvar Arnfjörð Bjarmason, Feb 12, 2021
  35. 08/11 t/.gitattributes: sort linesÆvar Arnfjörð Bjarmason, Feb 12, 2021
  36. 09/11 test libs: rename "diff-lib" to "lib-diff"Ævar Arnfjörð Bjarmason, Feb 12, 2021
  37. 10/11 test-lib-functions: remove bug-inducing "diagnostics" helper paramÆvar Arnfjörð Bjarmason, Feb 12, 2021
  38. 11/11 test-lib-functions: assert correct parameter countÆvar Arnfjörð Bjarmason, Feb 12, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.