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

[PATCH 1/3] fix multiple issues with t5300

From
Nicolas Pitre <nico@fluxnic.net>
Date
Feb 4, 2010, 03:48 UTC
Message-ID
<1265255308-20514-1-git-send-email-nico@fluxnic.net>

First of all, trying to run 'git verify-pack' on packs produced by the tests using pack.packSizeLimit always failed. After lots of digging and head scratching, it turns out that the preceeding test simulating a SHA1 collision did leave the repository quite confused, impacting subsequent tests.

So let's move that destructive test last, and add tests to run verify-pack on the output from those packSizeLimit tests to catch such goofage.

Finally, group those packSizeLimit tests together.
Signed-off-by: Nicolas Pitre <nico@fluxnic.net>
---
 t/t5300-pack-object.sh |   54 ++++++++++++++++++++++++++++++-----------------
 1 files changed, 34 insertions(+), 20 deletions(-)
diff --git a/t/t5300-pack-object.sh b/t/t5300-pack-object.sh
index e2aa254..ac81114 100755
--- a/t/t5300-pack-object.sh
+++ b/t/t5300-pack-object.sh
@@ -280,26 +280,8 @@ test_expect_success \
 
      :'
 
-test_expect_success \
-    'fake a SHA1 hash collision' \
-    'test -f	.git/objects/c8/2de19312b6c3695c0c18f70709a6c535682a67 &&
-     cp -f	.git/objects/9d/235ed07cd19811a6ceb342de82f190e49c9f68 \
-		.git/objects/c8/2de19312b6c3695c0c18f70709a6c535682a67'
-
-test_expect_success \
-    'make sure index-pack detects the SHA1 collision' \
-    'test_must_fail git index-pack -o bad.idx test-3.pack 2>msg &&
-     grep "SHA1 COLLISION FOUND" msg'
-
-test_expect_success \
-    'honor pack.packSizeLimit' \
-    'git config pack.packSizeLimit 200 &&
-     packname_4=$(git pack-objects test-4 <obj-list) &&
-     test 3 = $(ls test-4-*.pack | wc -l)'
-
 test_expect_success 'unpacking with --strict' '
 
-	git config --unset pack.packsizelimit &&
 	for j in a b c d e f g
 	do
 		for i in 0 1 2 3 4 5 6 7 8 9
@@ -392,10 +374,42 @@ test_expect_success 'index-pack with --strict' '
 	)
 '
 
+test_expect_success 'honor pack.packSizeLimit' '
+	git config pack.packSizeLimit 200 &&
+ 	packname_10=$(git pack-objects test-10 <obj-list) &&
+ 	test 3 = $(ls test-10-*.pack | wc -l)
+'
+
+test_expect_success 'verify resulting packs' '
+	git verify-pack test-10-*.pack
+'
+
 test_expect_success 'tolerate absurdly small packsizelimit' '
 	git config pack.packSizeLimit 2 &&
-	packname_9=$(git pack-objects test-9 <obj-list) &&
-	test $(wc -l <obj-list) = $(ls test-9-*.pack | wc -l)
+	packname_11=$(git pack-objects test-11 <obj-list) &&
+	test $(wc -l <obj-list) = $(ls test-11-*.pack | wc -l)
 '
 
+test_expect_success 'verify resulting packs' '
+	git verify-pack test-11-*.pack
+'
+
+#
+# WARNING!
+#
+# The following test is destructive.  Please keep the next
+# two tests at the end of this file.
+#
+
+test_expect_success \
+    'fake a SHA1 hash collision' \
+    'test -f	.git/objects/c8/2de19312b6c3695c0c18f70709a6c535682a67 &&
+     cp -f	.git/objects/9d/235ed07cd19811a6ceb342de82f190e49c9f68 \
+		.git/objects/c8/2de19312b6c3695c0c18f70709a6c535682a67'
+
+test_expect_success \
+    'make sure index-pack detects the SHA1 collision' \
+    'test_must_fail git index-pack -o bad.idx test-3.pack 2>msg &&
+     grep "SHA1 COLLISION FOUND" msg'
+
 test_done
-- 
1.7.0.rc1.149.g0b0b7
Next: Nicolas Pitre
Message 1 of 16 in “fix multiple issues with t5300”
  1. 1/3 fix multiple issues with t5300Nicolas Pitre, Feb 4, 2010
  2. 2/3 pack-objects: fix pack generation when using pack_size_limitNicolas Pitre, Feb 4, 2010
  3. 3/3 make --max-pack-size argument to 'git pack-object' count in bytesNicolas Pitre, Feb 4, 2010
  4. Shawn O. PearceFeb 4, 2010
  5. Junio C HamanoFeb 4, 2010
  6. Junio C HamanoFeb 4, 2010
  7. Shawn O. PearceFeb 4, 2010
  8. Nicolas PitreFeb 4, 2010
  9. Shawn O. PearceFeb 4, 2010
  10. fast-import: count --max-pack-size in bytesJunio C Hamano, Feb 4, 2010
  11. Shawn O. PearceFeb 4, 2010
  12. Ilari LiusvaaraFeb 4, 2010
  13. Nicolas PitreFeb 4, 2010
  14. Shawn O. PearceFeb 4, 2010
  15. Nicolas PitreFeb 4, 2010
  16. Shawn O. PearceFeb 4, 2010

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.