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

[PATCH v2 17/21] t1404: mark tests that muck with .git directly as REFFILES.

From
Han-Wen Nienhuys via GitGitGadget <gitgitgadget@gmail.com>
Date
Apr 27, 2021, 10:38 UTC
Message-ID
<fcc2b714dd5067732fa822c9ef3347636fe2138d.1619519903.git.gitgitgadget@gmail.com>
In-Reply-To
<pull.1008.v2.git.git.1619519903.gitgitgadget@gmail.com>
From: Han-Wen Nienhuys <hanwen@google.com>

The packed/loose ref storage is an overlay combination of packed-refs (refs and tags in a single file) and one-file-per-ref. This creates all kinds of edge cases related to directory/file conflicts, (non-)empty directories, and the locking scheme, none of which applies to reftable.

Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>
---
 t/t1404-update-ref-errors.sh | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/t/t1404-update-ref-errors.sh b/t/t1404-update-ref-errors.sh
index 8b51c4efc135..b729c1f48030 100755
--- a/t/t1404-update-ref-errors.sh
+++ b/t/t1404-update-ref-errors.sh
@@ -189,7 +189,7 @@ test_expect_success 'one new ref is a simple prefix of another' '
 
 '
 
-test_expect_success 'empty directory should not fool rev-parse' '
+test_expect_success REFFILES 'empty directory should not fool rev-parse' '
 	prefix=refs/e-rev-parse &&
 	git update-ref $prefix/foo $C &&
 	git pack-refs --all &&
@@ -199,7 +199,7 @@ test_expect_success 'empty directory should not fool rev-parse' '
 	test_cmp expected actual
 '
 
-test_expect_success 'empty directory should not fool for-each-ref' '
+test_expect_success REFFILES 'empty directory should not fool for-each-ref' '
 	prefix=refs/e-for-each-ref &&
 	git update-ref $prefix/foo $C &&
 	git for-each-ref $prefix >expected &&
@@ -209,14 +209,14 @@ test_expect_success 'empty directory should not fool for-each-ref' '
 	test_cmp expected actual
 '
 
-test_expect_success 'empty directory should not fool create' '
+test_expect_success REFFILES 'empty directory should not fool create' '
 	prefix=refs/e-create &&
 	mkdir -p .git/$prefix/foo/bar/baz &&
 	printf "create %s $C\n" $prefix/foo |
 	git update-ref --stdin
 '
 
-test_expect_success 'empty directory should not fool verify' '
+test_expect_success REFFILES 'empty directory should not fool verify' '
 	prefix=refs/e-verify &&
 	git update-ref $prefix/foo $C &&
 	git pack-refs --all &&
@@ -225,7 +225,7 @@ test_expect_success 'empty directory should not fool verify' '
 	git update-ref --stdin
 '
 
-test_expect_success 'empty directory should not fool 1-arg update' '
+test_expect_success REFFILES 'empty directory should not fool 1-arg update' '
 	prefix=refs/e-update-1 &&
 	git update-ref $prefix/foo $C &&
 	git pack-refs --all &&
@@ -234,7 +234,7 @@ test_expect_success 'empty directory should not fool 1-arg update' '
 	git update-ref --stdin
 '
 
-test_expect_success 'empty directory should not fool 2-arg update' '
+test_expect_success REFFILES 'empty directory should not fool 2-arg update' '
 	prefix=refs/e-update-2 &&
 	git update-ref $prefix/foo $C &&
 	git pack-refs --all &&
@@ -243,7 +243,7 @@ test_expect_success 'empty directory should not fool 2-arg update' '
 	git update-ref --stdin
 '
 
-test_expect_success 'empty directory should not fool 0-arg delete' '
+test_expect_success REFFILES 'empty directory should not fool 0-arg delete' '
 	prefix=refs/e-delete-0 &&
 	git update-ref $prefix/foo $C &&
 	git pack-refs --all &&
@@ -252,7 +252,7 @@ test_expect_success 'empty directory should not fool 0-arg delete' '
 	git update-ref --stdin
 '
 
-test_expect_success 'empty directory should not fool 1-arg delete' '
+test_expect_success REFFILES 'empty directory should not fool 1-arg delete' '
 	prefix=refs/e-delete-1 &&
 	git update-ref $prefix/foo $C &&
 	git pack-refs --all &&
@@ -466,7 +466,7 @@ test_expect_success 'incorrect old value blocks indirect no-deref delete' '
 	test_cmp expected output.err
 '
 
-test_expect_success 'non-empty directory blocks create' '
+test_expect_success REFFILES 'non-empty directory blocks create' '
 	prefix=refs/ne-create &&
 	mkdir -p .git/$prefix/foo/bar &&
 	: >.git/$prefix/foo/bar/baz.lock &&
@@ -485,7 +485,7 @@ test_expect_success 'non-empty directory blocks create' '
 	test_cmp expected output.err
 '
 
-test_expect_success 'broken reference blocks create' '
+test_expect_success REFFILES 'broken reference blocks create' '
 	prefix=refs/broken-create &&
 	mkdir -p .git/$prefix &&
 	echo "gobbledigook" >.git/$prefix/foo &&
@@ -504,7 +504,7 @@ test_expect_success 'broken reference blocks create' '
 	test_cmp expected output.err
 '
 
-test_expect_success 'non-empty directory blocks indirect create' '
+test_expect_success REFFILES 'non-empty directory blocks indirect create' '
 	prefix=refs/ne-indirect-create &&
 	git symbolic-ref $prefix/symref $prefix/foo &&
 	mkdir -p .git/$prefix/foo/bar &&
@@ -524,7 +524,7 @@ test_expect_success 'non-empty directory blocks indirect create' '
 	test_cmp expected output.err
 '
 
-test_expect_success 'broken reference blocks indirect create' '
+test_expect_success REFFILES 'broken reference blocks indirect create' '
 	prefix=refs/broken-indirect-create &&
 	git symbolic-ref $prefix/symref $prefix/foo &&
 	echo "gobbledigook" >.git/$prefix/foo &&
@@ -543,7 +543,7 @@ test_expect_success 'broken reference blocks indirect create' '
 	test_cmp expected output.err
 '
 
-test_expect_success 'no bogus intermediate values during delete' '
+test_expect_success REFFILES 'no bogus intermediate values during delete' '
 	prefix=refs/slow-transaction &&
 	# Set up a reference with differing loose and packed versions:
 	git update-ref $prefix/foo $C &&
@@ -600,7 +600,7 @@ test_expect_success 'no bogus intermediate values during delete' '
 	test_must_fail git rev-parse --verify --quiet $prefix/foo
 '
 
-test_expect_success 'delete fails cleanly if packed-refs file is locked' '
+test_expect_success REFFILES 'delete fails cleanly if packed-refs file is locked' '
 	prefix=refs/locked-packed-refs &&
 	# Set up a reference with differing loose and packed versions:
 	git update-ref $prefix/foo $C &&
@@ -616,7 +616,7 @@ test_expect_success 'delete fails cleanly if packed-refs file is locked' '
 	test_cmp unchanged actual
 '
 
-test_expect_success 'delete fails cleanly if packed-refs.new write fails' '
+test_expect_success REFFILES 'delete fails cleanly if packed-refs.new write fails' '
 	# Setup and expectations are similar to the test above.
 	prefix=refs/failed-packed-refs &&
 	git update-ref $prefix/foo $C &&
-- 
gitgitgadget
Previous: Ævar Arnfjörð BjarmasonNext: Han-Wen Nienhuys via GitGitGadget
Message 99 of 138 in “Prepare tests for reftable backend”
  1. 00/18 Prepare tests for reftable backendHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  2. 01/18 t4202: split testcase for invalid HEAD symref and HEAD hashHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  3. SZEDER GáborApr 19, 2021
  4. Han-Wen NienhuysApr 27, 2021
  5. 05/18 t1413: use tar to save and restore entire .git directoryHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  6. Junio C HamanoApr 20, 2021
  7. Han-Wen NienhuysApr 27, 2021
  8. 04/18 t1401-symbolic-ref: avoid direct filesystem accessHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  9. SZEDER GáborApr 19, 2021
  10. Han-Wen NienhuysApr 27, 2021
  11. Ævar Arnfjörð BjarmasonApr 21, 2021
  12. Han-Wen NienhuysApr 21, 2021
  13. SZEDER GáborApr 22, 2021
  14. Han-Wen NienhuysApr 22, 2021
  15. SZEDER GáborApr 23, 2021
  16. Han-Wen NienhuysApr 23, 2021
  17. Han-Wen NienhuysApr 23, 2021
  18. Ævar Arnfjörð BjarmasonApr 23, 2021
  19. Han-Wen NienhuysApr 26, 2021
  20. 03/18 t5601: read HEAD using rev-parseHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  21. 06/18 t1301: fix typo in error messageHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  22. 02/18 t9300: check ref existence using git-rev-parse rather than FS checkHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  23. Ævar Arnfjörð BjarmasonApr 21, 2021
  24. Han-Wen NienhuysApr 27, 2021
  25. 07/18 t5000: inspect HEAD using git-rev-parseHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  26. Ævar Arnfjörð BjarmasonApr 21, 2021
  27. Han-Wen NienhuysApr 27, 2021
  28. 09/18 t5304: use "reflog expire --all" to clear the reflogHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  29. Ævar Arnfjörð BjarmasonApr 21, 2021
  30. Han-Wen NienhuysApr 27, 2021
  31. 08/18 t7003: use rev-parse rather than FS inspectionHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  32. 10/18 test-lib: provide test prereq REFFILESHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  33. Junio C HamanoApr 20, 2021
  34. Junio C HamanoApr 20, 2021
  35. Han-Wen NienhuysApr 26, 2021
  36. Han-Wen NienhuysApr 27, 2021
  37. 12/18 t1414: mark corruption test with REFFILESHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  38. 11/18 t1407: require REFFILES for for_each_reflog testHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  39. Ævar Arnfjörð BjarmasonApr 21, 2021
  40. Han-Wen NienhuysApr 27, 2021
  41. 13/18 t2017: mark --orphan/logAllRefUpdates=false test as REFFILESHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  42. Ævar Arnfjörð BjarmasonApr 21, 2021
  43. Han-Wen NienhuysApr 29, 2021
  44. 15/18 t7900: mark pack-refs tests as REFFILESHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  45. Ævar Arnfjörð BjarmasonApr 21, 2021
  46. Han-Wen NienhuysApr 27, 2021
  47. 16/18 t7003: check reflog existence only for REFFILESHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  48. Junio C HamanoApr 20, 2021
  49. Han-Wen NienhuysApr 26, 2021
  50. Han-Wen NienhuysApr 27, 2021
  51. Ævar Arnfjörð BjarmasonApr 21, 2021
  52. 14/18 t1404: mark tests that muck with .git directly as REFFILES.Han-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  53. Ævar Arnfjörð BjarmasonApr 21, 2021
  54. Han-Wen NienhuysApr 26, 2021
  55. 17/18 t4202: mark bogus head hash test with REFFILESHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  56. Ævar Arnfjörð BjarmasonApr 21, 2021
  57. Han-Wen NienhuysApr 26, 2021
  58. 18/18 t1415: set REFFILES for test specific to storage formatHan-Wen Nienhuys via GitGitGadget, Apr 19, 2021
  59. Ævar Arnfjörð BjarmasonApr 21, 2021
  60. Han-Wen NienhuysApr 26, 2021
  61. 00/21 Prepare tests for reftable backendHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  62. 04/21 t5601: read HEAD using rev-parseHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  63. 01/21 t4202: split testcase for invalid HEAD symref and HEAD hashHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  64. Ævar Arnfjörð BjarmasonMay 20, 2021
  65. Han-Wen NienhuysMay 31, 2021
  66. 06/21 t1413: use tar to save and restore entire .git directoryHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  67. Ævar Arnfjörð BjarmasonMay 20, 2021
  68. Han-Wen NienhuysMay 31, 2021
  69. 05/21 t1401-symbolic-ref: avoid direct filesystem accessHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  70. Ævar Arnfjörð BjarmasonMay 20, 2021
  71. Han-Wen NienhuysMay 31, 2021
  72. 02/21 t/helper/ref-store: initialize oid in resolve-refHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  73. Ævar Arnfjörð BjarmasonMay 20, 2021
  74. Han-Wen NienhuysMay 31, 2021
  75. 03/21 t9300: check ref existence using test-helper rather than a file system checkHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  76. Ævar Arnfjörð BjarmasonMay 20, 2021
  77. 08/21 t5000: reformat indentation to the latest fashionHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  78. Ævar Arnfjörð BjarmasonMay 20, 2021
  79. Han-Wen NienhuysMay 31, 2021
  80. 09/21 t5000: inspect HEAD using git-rev-parseHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  81. 07/21 t1301: fix typo in error messageHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  82. 11/21 t5304: restyle: trim empty lines, drop ':' before >Han-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  83. 10/21 t7003: use rev-parse rather than FS inspectionHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  84. 12/21 t5304: use "reflog expire --all" to clear the reflogHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  85. Ævar Arnfjörð BjarmasonMay 20, 2021
  86. Han-Wen NienhuysMay 31, 2021
  87. 18/21 t7900: mark pack-refs tests as REFFILESHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  88. Ævar Arnfjörð BjarmasonMay 20, 2021
  89. Han-Wen NienhuysMay 31, 2021
  90. 14/21 t1407: require REFFILES for for_each_reflog testHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  91. 13/21 test-lib: provide test prereq REFFILESHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  92. 15/21 t1414: mark corruption test with REFFILESHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  93. Ævar Arnfjörð BjarmasonMay 20, 2021
  94. 19/21 t7003: check reflog existence only for REFFILESHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  95. Ævar Arnfjörð BjarmasonMay 20, 2021
  96. Han-Wen NienhuysMay 31, 2021
  97. 16/21 t2017: mark --orphan/logAllRefUpdates=false test as REFFILESHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  98. Ævar Arnfjörð BjarmasonMay 20, 2021
  99. 17/21 t1404: mark tests that muck with .git directly as REFFILES.Han-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  100. 21/21 t1415: set REFFILES for test specific to storage formatHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  101. Ævar Arnfjörð BjarmasonMay 20, 2021
  102. Han-Wen NienhuysMay 31, 2021
  103. Ævar Arnfjörð BjarmasonMay 31, 2021
  104. 20/21 t4202: mark bogus head hash test with REFFILESHan-Wen Nienhuys via GitGitGadget, Apr 27, 2021
  105. Ævar Arnfjörð BjarmasonMay 20, 2021
  106. Han-Wen NienhuysMay 31, 2021
  107. Ævar Arnfjörð BjarmasonMay 20, 2021
  108. Han-Wen NienhuysMay 26, 2021
  109. Ævar Arnfjörð BjarmasonMay 26, 2021
  110. Han-Wen NienhuysMay 31, 2021
  111. 00/22 Prepare tests for reftable backendHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  112. 02/22 t/helper/ref-store: initialize oid in resolve-refHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  113. 01/22 t4202: split testcase for invalid HEAD symref and HEAD hashHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  114. 04/22 t5601: read HEAD using rev-parseHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  115. 03/22 t9300: check ref existence using test-helper rather than a file system checkHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  116. 05/22 t1401: use tar to snapshot and restore repo stateHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  117. 07/22 t1413: use tar to save and restore entire .git directoryHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  118. Bagas SanjayaJun 1, 2021
  119. Han-Wen NienhuysJun 1, 2021
  120. Junio C HamanoJun 1, 2021
  121. Han-Wen NienhuysJun 2, 2021
  122. 06/22 t1401-symbolic-ref: avoid direct filesystem accessHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  123. 08/22 t1301: fix typo in error messageHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  124. 09/22 t5000: reformat indentation to the latest fashionHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  125. 10/22 t5000: inspect HEAD using git-rev-parseHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  126. 11/22 t7003: use rev-parse rather than FS inspectionHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  127. 12/22 t5304: restyle: trim empty lines, drop ':' before >Han-Wen Nienhuys via GitGitGadget, May 31, 2021
  128. 15/22 t1407: require REFFILES for for_each_reflog testHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  129. 17/22 t2017: mark --orphan/logAllRefUpdates=false test as REFFILESHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  130. 14/22 test-lib: provide test prereq REFFILESHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  131. 18/22 t1404: mark tests that muck with .git directly as REFFILES.Han-Wen Nienhuys via GitGitGadget, May 31, 2021
  132. 16/22 t1414: mark corruption test with REFFILESHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  133. 21/22 t4202: mark bogus head hash test with REFFILESHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  134. 13/22 t5304: use "reflog expire --all" to clear the reflogHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  135. 19/22 t7900: stop checking for loose refsHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  136. 20/22 t7003: check reflog existence only for REFFILESHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  137. 22/22 t1415: set REFFILES for test specific to storage formatHan-Wen Nienhuys via GitGitGadget, May 31, 2021
  138. Ævar Arnfjörð BjarmasonMay 31, 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.