All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Han-Wen Nienhuys via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Han-Wen Nienhuys <hanwen@google.com>,
	Han-Wen Nienhuys <hanwenn@gmail.com>,
	Han-Wen Nienhuys <hanwen@google.com>
Subject: [PATCH v2 17/21] t1404: mark tests that muck with .git directly as REFFILES.
Date: Tue, 27 Apr 2021 10:38:18 +0000	[thread overview]
Message-ID: <fcc2b714dd5067732fa822c9ef3347636fe2138d.1619519903.git.gitgitgadget@gmail.com> (raw)
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


  parent reply	other threads:[~2021-04-27 10:39 UTC|newest]

Thread overview: 138+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-19 10:52 [PATCH 00/18] Prepare tests for reftable backend Han-Wen Nienhuys via GitGitGadget
2021-04-19 10:52 ` [PATCH 01/18] t4202: split testcase for invalid HEAD symref and HEAD hash Han-Wen Nienhuys via GitGitGadget
2021-04-19 21:11   ` SZEDER Gábor
2021-04-27  9:14     ` Han-Wen Nienhuys
2021-04-19 10:52 ` [PATCH 02/18] t9300: check ref existence using git-rev-parse rather than FS check Han-Wen Nienhuys via GitGitGadget
2021-04-21  6:01   ` Ævar Arnfjörð Bjarmason
2021-04-27  9:20     ` Han-Wen Nienhuys
2021-04-19 10:52 ` [PATCH 03/18] t5601: read HEAD using rev-parse Han-Wen Nienhuys via GitGitGadget
2021-04-19 10:52 ` [PATCH 04/18] t1401-symbolic-ref: avoid direct filesystem access Han-Wen Nienhuys via GitGitGadget
2021-04-19 20:38   ` SZEDER Gábor
2021-04-27  9:13     ` Han-Wen Nienhuys
2021-04-21  6:09   ` Ævar Arnfjörð Bjarmason
2021-04-21  9:09     ` Han-Wen Nienhuys
2021-04-22  4:59       ` SZEDER Gábor
2021-04-22 13:01         ` Han-Wen Nienhuys
2021-04-23  5:12           ` SZEDER Gábor
2021-04-23  7:47             ` Han-Wen Nienhuys
2021-04-23  7:53               ` Han-Wen Nienhuys
2021-04-23  9:16                 ` Ævar Arnfjörð Bjarmason
2021-04-26 18:01                   ` Han-Wen Nienhuys
2021-04-19 10:52 ` [PATCH 05/18] t1413: use tar to save and restore entire .git directory Han-Wen Nienhuys via GitGitGadget
2021-04-20 22:51   ` Junio C Hamano
2021-04-27  9:15     ` Han-Wen Nienhuys
2021-04-19 10:52 ` [PATCH 06/18] t1301: fix typo in error message Han-Wen Nienhuys via GitGitGadget
2021-04-19 10:52 ` [PATCH 07/18] t5000: inspect HEAD using git-rev-parse Han-Wen Nienhuys via GitGitGadget
2021-04-21  6:11   ` Ævar Arnfjörð Bjarmason
2021-04-27  9:22     ` Han-Wen Nienhuys
2021-04-19 10:52 ` [PATCH 08/18] t7003: use rev-parse rather than FS inspection Han-Wen Nienhuys via GitGitGadget
2021-04-19 10:52 ` [PATCH 09/18] t5304: use "reflog expire --all" to clear the reflog Han-Wen Nienhuys via GitGitGadget
2021-04-21  6:13   ` Ævar Arnfjörð Bjarmason
2021-04-27  9:23     ` Han-Wen Nienhuys
2021-04-19 10:52 ` [PATCH 10/18] test-lib: provide test prereq REFFILES Han-Wen Nienhuys via GitGitGadget
2021-04-20 22:57   ` Junio C Hamano
2021-04-20 23:37     ` Junio C Hamano
2021-04-26 11:09       ` Han-Wen Nienhuys
2021-04-27  9:16     ` Han-Wen Nienhuys
2021-04-19 10:52 ` [PATCH 11/18] t1407: require REFFILES for for_each_reflog test Han-Wen Nienhuys via GitGitGadget
2021-04-21  6:23   ` Ævar Arnfjörð Bjarmason
2021-04-27  9:27     ` Han-Wen Nienhuys
2021-04-19 10:52 ` [PATCH 12/18] t1414: mark corruption test with REFFILES Han-Wen Nienhuys via GitGitGadget
2021-04-19 10:52 ` [PATCH 13/18] t2017: mark --orphan/logAllRefUpdates=false test as REFFILES Han-Wen Nienhuys via GitGitGadget
2021-04-21  6:39   ` Ævar Arnfjörð Bjarmason
2021-04-29 18:14     ` Han-Wen Nienhuys
2021-04-19 10:52 ` [PATCH 14/18] t1404: mark tests that muck with .git directly " Han-Wen Nienhuys via GitGitGadget
2021-04-21  6:57   ` Ævar Arnfjörð Bjarmason
2021-04-26 18:36     ` Han-Wen Nienhuys
2021-04-19 10:53 ` [PATCH 15/18] t7900: mark pack-refs tests " Han-Wen Nienhuys via GitGitGadget
2021-04-21  7:00   ` Ævar Arnfjörð Bjarmason
2021-04-27  9:41     ` Han-Wen Nienhuys
2021-04-19 10:53 ` [PATCH 16/18] t7003: check reflog existence only for REFFILES Han-Wen Nienhuys via GitGitGadget
2021-04-20 22:59   ` Junio C Hamano
2021-04-26 17:42     ` Han-Wen Nienhuys
2021-04-27  9:17     ` Han-Wen Nienhuys
2021-04-21  7:02   ` Ævar Arnfjörð Bjarmason
2021-04-19 10:53 ` [PATCH 17/18] t4202: mark bogus head hash test with REFFILES Han-Wen Nienhuys via GitGitGadget
2021-04-21  7:08   ` Ævar Arnfjörð Bjarmason
2021-04-26 18:02     ` Han-Wen Nienhuys
2021-04-19 10:53 ` [PATCH 18/18] t1415: set REFFILES for test specific to storage format Han-Wen Nienhuys via GitGitGadget
2021-04-21  7:15   ` Ævar Arnfjörð Bjarmason
2021-04-26 17:41     ` Han-Wen Nienhuys
2021-04-27 10:38 ` [PATCH v2 00/21] Prepare tests for reftable backend Han-Wen Nienhuys via GitGitGadget
2021-04-27 10:38   ` [PATCH v2 01/21] t4202: split testcase for invalid HEAD symref and HEAD hash Han-Wen Nienhuys via GitGitGadget
2021-05-20 15:03     ` Ævar Arnfjörð Bjarmason
2021-05-31 13:54       ` Han-Wen Nienhuys
2021-04-27 10:38   ` [PATCH v2 02/21] t/helper/ref-store: initialize oid in resolve-ref Han-Wen Nienhuys via GitGitGadget
2021-05-20 15:06     ` Ævar Arnfjörð Bjarmason
2021-05-31 14:48       ` Han-Wen Nienhuys
2021-04-27 10:38   ` [PATCH v2 03/21] t9300: check ref existence using test-helper rather than a file system check Han-Wen Nienhuys via GitGitGadget
2021-05-20 15:11     ` Ævar Arnfjörð Bjarmason
2021-04-27 10:38   ` [PATCH v2 04/21] t5601: read HEAD using rev-parse Han-Wen Nienhuys via GitGitGadget
2021-04-27 10:38   ` [PATCH v2 05/21] t1401-symbolic-ref: avoid direct filesystem access Han-Wen Nienhuys via GitGitGadget
2021-05-20 15:20     ` Ævar Arnfjörð Bjarmason
2021-05-31 13:40       ` Han-Wen Nienhuys
2021-04-27 10:38   ` [PATCH v2 06/21] t1413: use tar to save and restore entire .git directory Han-Wen Nienhuys via GitGitGadget
2021-05-20 15:22     ` Ævar Arnfjörð Bjarmason
2021-05-31 15:16       ` Han-Wen Nienhuys
2021-04-27 10:38   ` [PATCH v2 07/21] t1301: fix typo in error message Han-Wen Nienhuys via GitGitGadget
2021-04-27 10:38   ` [PATCH v2 08/21] t5000: reformat indentation to the latest fashion Han-Wen Nienhuys via GitGitGadget
2021-05-20 15:24     ` Ævar Arnfjörð Bjarmason
2021-05-31 13:56       ` Han-Wen Nienhuys
2021-04-27 10:38   ` [PATCH v2 09/21] t5000: inspect HEAD using git-rev-parse Han-Wen Nienhuys via GitGitGadget
2021-04-27 10:38   ` [PATCH v2 10/21] t7003: use rev-parse rather than FS inspection Han-Wen Nienhuys via GitGitGadget
2021-04-27 10:38   ` [PATCH v2 11/21] t5304: restyle: trim empty lines, drop ':' before > Han-Wen Nienhuys via GitGitGadget
2021-04-27 10:38   ` [PATCH v2 12/21] t5304: use "reflog expire --all" to clear the reflog Han-Wen Nienhuys via GitGitGadget
2021-05-20 15:27     ` Ævar Arnfjörð Bjarmason
2021-05-31 14:04       ` Han-Wen Nienhuys
2021-04-27 10:38   ` [PATCH v2 13/21] test-lib: provide test prereq REFFILES Han-Wen Nienhuys via GitGitGadget
2021-04-27 10:38   ` [PATCH v2 14/21] t1407: require REFFILES for for_each_reflog test Han-Wen Nienhuys via GitGitGadget
2021-04-27 10:38   ` [PATCH v2 15/21] t1414: mark corruption test with REFFILES Han-Wen Nienhuys via GitGitGadget
2021-05-20 15:31     ` Ævar Arnfjörð Bjarmason
2021-04-27 10:38   ` [PATCH v2 16/21] t2017: mark --orphan/logAllRefUpdates=false test as REFFILES Han-Wen Nienhuys via GitGitGadget
2021-05-20 15:38     ` Ævar Arnfjörð Bjarmason
2021-04-27 10:38   ` Han-Wen Nienhuys via GitGitGadget [this message]
2021-04-27 10:38   ` [PATCH v2 18/21] t7900: mark pack-refs tests " Han-Wen Nienhuys via GitGitGadget
2021-05-20 15:40     ` Ævar Arnfjörð Bjarmason
2021-05-31 14:08       ` Han-Wen Nienhuys
2021-04-27 10:38   ` [PATCH v2 19/21] t7003: check reflog existence only for REFFILES Han-Wen Nienhuys via GitGitGadget
2021-05-20 15:41     ` Ævar Arnfjörð Bjarmason
2021-05-31 14:27       ` Han-Wen Nienhuys
2021-04-27 10:38   ` [PATCH v2 20/21] t4202: mark bogus head hash test with REFFILES Han-Wen Nienhuys via GitGitGadget
2021-05-20 15:43     ` Ævar Arnfjörð Bjarmason
2021-05-31 14:21       ` Han-Wen Nienhuys
2021-04-27 10:38   ` [PATCH v2 21/21] t1415: set REFFILES for test specific to storage format Han-Wen Nienhuys via GitGitGadget
2021-05-20 15:50     ` Ævar Arnfjörð Bjarmason
2021-05-31 14:16       ` Han-Wen Nienhuys
2021-05-31 23:36         ` Ævar Arnfjörð Bjarmason
2021-05-20 16:28   ` [PATCH v2 00/21] Prepare tests for reftable backend Ævar Arnfjörð Bjarmason
2021-05-26  9:23     ` Han-Wen Nienhuys
2021-05-26  9:52       ` Ævar Arnfjörð Bjarmason
2021-05-31 14:37         ` Han-Wen Nienhuys
2021-05-31 16:56   ` [PATCH v3 00/22] " Han-Wen Nienhuys via GitGitGadget
2021-05-31 16:56     ` [PATCH v3 01/22] t4202: split testcase for invalid HEAD symref and HEAD hash Han-Wen Nienhuys via GitGitGadget
2021-05-31 16:56     ` [PATCH v3 02/22] t/helper/ref-store: initialize oid in resolve-ref Han-Wen Nienhuys via GitGitGadget
2021-05-31 16:56     ` [PATCH v3 03/22] t9300: check ref existence using test-helper rather than a file system check Han-Wen Nienhuys via GitGitGadget
2021-05-31 16:56     ` [PATCH v3 04/22] t5601: read HEAD using rev-parse Han-Wen Nienhuys via GitGitGadget
2021-05-31 16:56     ` [PATCH v3 05/22] t1401: use tar to snapshot and restore repo state Han-Wen Nienhuys via GitGitGadget
2021-05-31 16:56     ` [PATCH v3 06/22] t1401-symbolic-ref: avoid direct filesystem access Han-Wen Nienhuys via GitGitGadget
2021-05-31 16:56     ` [PATCH v3 07/22] t1413: use tar to save and restore entire .git directory Han-Wen Nienhuys via GitGitGadget
2021-06-01  4:55       ` Bagas Sanjaya
2021-06-01  9:23         ` Han-Wen Nienhuys
2021-06-01 20:44           ` Junio C Hamano
2021-06-02  7:49             ` Han-Wen Nienhuys
2021-05-31 16:56     ` [PATCH v3 08/22] t1301: fix typo in error message Han-Wen Nienhuys via GitGitGadget
2021-05-31 16:56     ` [PATCH v3 09/22] t5000: reformat indentation to the latest fashion Han-Wen Nienhuys via GitGitGadget
2021-05-31 16:56     ` [PATCH v3 10/22] t5000: inspect HEAD using git-rev-parse Han-Wen Nienhuys via GitGitGadget
2021-05-31 16:56     ` [PATCH v3 11/22] t7003: use rev-parse rather than FS inspection Han-Wen Nienhuys via GitGitGadget
2021-05-31 16:56     ` [PATCH v3 12/22] t5304: restyle: trim empty lines, drop ':' before > Han-Wen Nienhuys via GitGitGadget
2021-05-31 16:56     ` [PATCH v3 13/22] t5304: use "reflog expire --all" to clear the reflog Han-Wen Nienhuys via GitGitGadget
2021-05-31 16:56     ` [PATCH v3 14/22] test-lib: provide test prereq REFFILES Han-Wen Nienhuys via GitGitGadget
2021-05-31 16:56     ` [PATCH v3 15/22] t1407: require REFFILES for for_each_reflog test Han-Wen Nienhuys via GitGitGadget
2021-05-31 16:56     ` [PATCH v3 16/22] t1414: mark corruption test with REFFILES Han-Wen Nienhuys via GitGitGadget
2021-05-31 16:56     ` [PATCH v3 17/22] t2017: mark --orphan/logAllRefUpdates=false test as REFFILES Han-Wen Nienhuys via GitGitGadget
2021-05-31 16:56     ` [PATCH v3 18/22] t1404: mark tests that muck with .git directly " Han-Wen Nienhuys via GitGitGadget
2021-05-31 16:56     ` [PATCH v3 19/22] t7900: stop checking for loose refs Han-Wen Nienhuys via GitGitGadget
2021-05-31 16:56     ` [PATCH v3 20/22] t7003: check reflog existence only for REFFILES Han-Wen Nienhuys via GitGitGadget
2021-05-31 16:56     ` [PATCH v3 21/22] t4202: mark bogus head hash test with REFFILES Han-Wen Nienhuys via GitGitGadget
2021-05-31 16:56     ` [PATCH v3 22/22] t1415: set REFFILES for test specific to storage format Han-Wen Nienhuys via GitGitGadget
2021-05-31 23:57     ` [PATCH v3 00/22] Prepare tests for reftable backend Ævar Arnfjörð Bjarmason

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fcc2b714dd5067732fa822c9ef3347636fe2138d.1619519903.git.gitgitgadget@gmail.com \
    --to=gitgitgadget@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=hanwen@google.com \
    --cc=hanwenn@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.