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

[PATCH 26/38] t9700: make hash size independent

From
brian m. carlson <sandals@crustytoothpaste.net>
Date
Jul 10, 2020, 02:47 UTC
Message-ID
<20200710024728.3100527-27-sandals@crustytoothpaste.net>
In-Reply-To
<20200710024728.3100527-1-sandals@crustytoothpaste.net>

The Perl test script for t9700 was matching on exactly 40 hex characters. With SHA-256, we'll have 64 hex-character object IDs. Create a variable with a regex which matches exactly 40 or 64 hex characters and use that to match the output. Note that both of the uses of this can be anchored, which makes the code simpler, so do that as well.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
---
 t/t9700/test.pl | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/t/t9700/test.pl b/t/t9700/test.pl
index 34cd01366f..071ff6d82a 100755
--- a/t/t9700/test.pl
+++ b/t/t9700/test.pl
@@ -23,6 +23,8 @@ sub adjust_dirsep {
 	return $path;
 }
 
+my $oid_re = qr/^[0-9a-fA-F]{40}(?:[0-9a-fA-F]{24})?$/;
+
 BEGIN { use_ok('Git') }
 
 # set up
@@ -93,7 +95,7 @@ sub adjust_dirsep {
 open TEMPFILE, ">$tmpfile" or die "Can't open $tmpfile: $!";
 print TEMPFILE my $test_text = "test blob, to be inserted\n";
 close TEMPFILE or die "Failed writing to $tmpfile: $!";
-like(our $newhash = $r->hash_and_insert_object($tmpfile), qr/[0-9a-fA-F]{40}/,
+like(our $newhash = $r->hash_and_insert_object($tmpfile), $oid_re,
      "hash_and_insert_object: returns hash");
 open TEMPFILE, "+>$tmpfile" or die "Can't open $tmpfile: $!";
 is($r->cat_blob($newhash, \*TEMPFILE), length $test_text, "cat_blob: roundtrip size");
@@ -119,7 +121,7 @@ sub adjust_dirsep {
 
 # commands in sub directory
 my $last_commit = $r2->command_oneline(qw(rev-parse --verify HEAD));
-like($last_commit, qr/^[0-9a-fA-F]{40}$/, 'rev-parse returned hash');
+like($last_commit, $oid_re, 'rev-parse returned hash');
 my $dir_commit = $r2->command_oneline('log', '-n1', '--pretty=format:%H', '.');
 isnt($last_commit, $dir_commit, 'log . does not show last commit');
 
Previous: brian m. carlsonNext: brian m. carlson
Message 35 of 50 in “SHA-256, part 3/3”
  1. 00/38 SHA-256, part 3/3brian m. carlson, Jul 10, 2020
  2. 01/38 t: make test-bloom initialize repositorybrian m. carlson, Jul 10, 2020
  3. 03/38 t3305: make hash agnosticbrian m. carlson, Jul 10, 2020
  4. 02/38 t1001: use $ZERO_OIDbrian m. carlson, Jul 10, 2020
  5. 04/38 t3404: prepare 'short SHA-1 collision' tests for SHA-256brian m. carlson, Jul 10, 2020
  6. 11/38 t7063: make hash size independentbrian m. carlson, Jul 10, 2020
  7. Junio C HamanoJul 11, 2020
  8. brian m. carlsonJul 11, 2020
  9. 05/38 t6100: make hash size independentbrian m. carlson, Jul 10, 2020
  10. 07/38 t6301: make hash size independentbrian m. carlson, Jul 10, 2020
  11. 10/38 t7003: compute appropriate length constantbrian m. carlson, Jul 10, 2020
  12. 12/38 t7201: abstract away SHA-1-specific constantsbrian m. carlson, Jul 10, 2020
  13. 13/38 t7102: abstract away SHA-1-specific constantsbrian m. carlson, Jul 10, 2020
  14. 18/38 t8002: make hash size independentbrian m. carlson, Jul 10, 2020
  15. 16/38 t7506: avoid checking for SHA-1-specific constantsbrian m. carlson, Jul 10, 2020
  16. 23/38 t9301: make hash size independentbrian m. carlson, Jul 10, 2020
  17. 27/38 t5308: make test work with SHA-256brian m. carlson, Jul 10, 2020
  18. 28/38 t0410: mark test with SHA1 prerequisitebrian m. carlson, Jul 10, 2020
  19. 37/38 docs: add documentation for extensions.objectFormatbrian m. carlson, Jul 10, 2020
  20. Martin ÅgrenJul 10, 2020
  21. 33/38 t: add test_oid option to select hash algorithmbrian m. carlson, Jul 10, 2020
  22. 32/38 Enable SHA-256 support by defaultbrian m. carlson, Jul 10, 2020
  23. 36/38 ci: run tests with SHA-256brian m. carlson, Jul 10, 2020
  24. Derrick StoleeJul 10, 2020
  25. 09/38 t6501: avoid hard-coded objectsbrian m. carlson, Jul 10, 2020
  26. 08/38 t6500: specify test values for SHA-256brian m. carlson, Jul 10, 2020
  27. 06/38 t6101: make hash size independentbrian m. carlson, Jul 10, 2020
  28. 35/38 t: make SHA1 prerequisite depend on default hashbrian m. carlson, Jul 10, 2020
  29. Denton LiuJul 12, 2020
  30. Junio C HamanoJul 12, 2020
  31. 38/38 t: remove test_oid_init in testsbrian m. carlson, Jul 10, 2020
  32. 31/38 setup: add support for reading extensions.objectformatbrian m. carlson, Jul 10, 2020
  33. 25/38 t9500: ensure that algorithm info is preserved in configbrian m. carlson, Jul 10, 2020
  34. 22/38 t9300: use $ZERO_OID instead of hard-coded object IDbrian m. carlson, Jul 10, 2020
  35. 26/38 t9700: make hash size independentbrian m. carlson, Jul 10, 2020
  36. 24/38 t9350: make hash size independentbrian m. carlson, Jul 10, 2020
  37. 20/38 t8011: make hash size independentbrian m. carlson, Jul 10, 2020
  38. 30/38 builtin/verify-pack: implement an --object-format optionbrian m. carlson, Jul 10, 2020
  39. 34/38 t: allow testing different hash algorithms via environmentbrian m. carlson, Jul 10, 2020
  40. 29/38 http-fetch: set up git directory before parsing pack hashesbrian m. carlson, Jul 10, 2020
  41. 21/38 t9300: abstract away SHA-1-specific constantsbrian m. carlson, Jul 10, 2020
  42. 19/38 t8003: make hash size independentbrian m. carlson, Jul 10, 2020
  43. 14/38 t7400: make hash size independentbrian m. carlson, Jul 10, 2020
  44. 17/38 t7508: use $ZERO_OID instead of hard-coded constantbrian m. carlson, Jul 10, 2020
  45. 15/38 t7405: make hash size independentbrian m. carlson, Jul 10, 2020
  46. Derrick StoleeJul 10, 2020
  47. brian m. carlsonJul 10, 2020
  48. Junio C HamanoJul 10, 2020
  49. Junio C HamanoJul 11, 2020
  50. brian m. carlsonJul 11, 2020

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.