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

[PATCH 04/10] t5000: make hash independent

From
brian m. carlson <sandals@crustytoothpaste.net>
Date
Jun 9, 2019, 22:43 UTC
Message-ID
<20190609224400.41557-5-sandals@crustytoothpaste.net>
In-Reply-To
<20190609224400.41557-1-sandals@crustytoothpaste.net>

This test uses a stub of a very large (64 GB) object to test our generation of tar archives. In doing so, it uses the object ID of the object so it can insert it into the database properly. Look up these values using test_oid. Restructure the test slightly to use test_oid_in_path.

Since we care about the object, not how it is named in a particular hash algorithm, rename it to "huge-object", which is shorter and more descriptive.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
---
 t/t5000-tar-tree.sh                             |  16 +++++++++++-----
 ...5a8938e6999cb59b3ff66739902a => huge-object} | Bin
 2 files changed, 11 insertions(+), 5 deletions(-)
 rename t/t5000/{19f9c8273ec45a8938e6999cb59b3ff66739902a => huge-object} (100%)
diff --git a/t/t5000-tar-tree.sh b/t/t5000-tar-tree.sh
index 602bfd9574..37655a237c 100755
--- a/t/t5000-tar-tree.sh
+++ b/t/t5000-tar-tree.sh
@@ -94,6 +94,13 @@ check_tar() {
 	'
 }
 
+test_expect_success 'setup' '
+	test_oid_cache <<-EOF
+	obj sha1:19f9c8273ec45a8938e6999cb59b3ff66739902a
+	obj sha256:3c666f798798601571f5cec0adb57ce4aba8546875e7693177e0535f34d2c49b
+	EOF
+'
+
 test_expect_success \
     'populate workdir' \
     'mkdir a &&
@@ -369,11 +376,10 @@ test_lazy_prereq TAR_HUGE '
 '
 
 test_expect_success LONG_IS_64BIT 'set up repository with huge blob' '
-	obj_d=19 &&
-	obj_f=f9c8273ec45a8938e6999cb59b3ff66739902a &&
-	obj=${obj_d}${obj_f} &&
-	mkdir -p .git/objects/$obj_d &&
-	cp "$TEST_DIRECTORY"/t5000/$obj .git/objects/$obj_d/$obj_f &&
+	obj=$(test_oid obj) &&
+	path=$(test_oid_to_path $obj) &&
+	mkdir -p .git/objects/$(dirname $path) &&
+	cp "$TEST_DIRECTORY"/t5000/huge-object .git/objects/$path &&
 	rm -f .git/index &&
 	git update-index --add --cacheinfo 100644,$obj,huge &&
 	git commit -m huge
diff --git a/t/t5000/19f9c8273ec45a8938e6999cb59b3ff66739902a b/t/t5000/huge-object
similarity index 100%
rename from t/t5000/19f9c8273ec45a8938e6999cb59b3ff66739902a
rename to t/t5000/huge-object
Previous: brian m. carlsonNext: brian m. carlson
Message 11 of 17 in “Hash-independent tests, part 4”
  1. 00/10 Hash-independent tests, part 4brian m. carlson, Jun 9, 2019
  2. 01/10 t: add helper to convert object IDs to pathsbrian m. carlson, Jun 9, 2019
  3. 02/10 t1410: make hash size independentbrian m. carlson, Jun 9, 2019
  4. 03/10 t1450: make hash size independentbrian m. carlson, Jun 9, 2019
  5. Eric SunshineJun 10, 2019
  6. brian m. carlsonJun 10, 2019
  7. Jonathan TanJun 11, 2019
  8. Eric SunshineJun 11, 2019
  9. brian m. carlsonJun 11, 2019
  10. brian m. carlsonJun 11, 2019
  11. 04/10 t5000: make hash independentbrian m. carlson, Jun 9, 2019
  12. 06/10 t0027: make hash size independentbrian m. carlson, Jun 9, 2019
  13. 05/10 t6030: make test work with SHA-256brian m. carlson, Jun 9, 2019
  14. 07/10 t0090: make test pass with SHA-256brian m. carlson, Jun 9, 2019
  15. 08/10 t1007: remove SHA1 prerequisitesbrian m. carlson, Jun 9, 2019
  16. 10/10 t2203: avoid hard-coded object ID valuesbrian m. carlson, Jun 9, 2019
  17. 09/10 t1710: make hash independentbrian m. carlson, Jun 9, 2019

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.