From: Jon Simons Date: Fri, 09 Oct 2026 19:29:48 GMT Subject: [PATCH 10/15] t5408: expect client-side error for duplicate destinations Message-ID: <20261009192953.81794-11-jon@jonsimons.org> In-Reply-To: <20261009192953.81794-1-jon@jonsimons.org> Update the error message expectation for the existing t5408 tests that use send-pack to transmit duplicate updates to an empty remote, and toggle them test_expect_failure. The tests previously asserted the server-side rejection "multiple updates for ref '' not allowed". The next commit rejects these pushes on the client-side such that send-pack fails earlier with "dst ref receives from more than one src", and never reaches the server. The tests are toggled to test_expect_success then. While here, change the test descriptions to note that they are no longer asserting anything about the order of partial ref updates. Also included is a fix for a missing "2>err" in the '--stdin refs come after cmdline' test. Signed-off-by: Jon Simons --- t/t5408-send-pack-stdin.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/t/t5408-send-pack-stdin.sh b/t/t5408-send-pack-stdin.sh index 7af350f01c..0321519f21 100755 --- a/t/t5408-send-pack-stdin.sh +++ b/t/t5408-send-pack-stdin.sh @@ -97,25 +97,25 @@ test_expect_success '--stdin refs are sent after cmdline refs' ' verify_push A bar ' -test_expect_success 'cmdline refs written in order' ' +test_expect_failure 'two cmdline refs for the same destination are rejected' ' clear_remote && test_must_fail git send-pack remote.git A:foo B:foo 2>err && - test_grep "multiple updates for ref ${SQ}refs/heads/foo${SQ} not allowed" err && + test_grep "dst ref refs/heads/foo receives from more than one src" err && test_must_fail git --git-dir=remote.git rev-parse foo ' -test_expect_success 'cmdline refs with multiple duplicates' ' +test_expect_failure 'three cmdline refs for the same destination are rejected' ' clear_remote && test_must_fail git send-pack remote.git A:foo B:foo C:foo 2>err && - test_grep "multiple updates for ref ${SQ}refs/heads/foo${SQ} not allowed" err && + test_grep "dst ref refs/heads/foo receives from more than one src" err && test_must_fail git --git-dir=remote.git rev-parse foo ' -test_expect_success '--stdin refs come after cmdline' ' +test_expect_failure 'cmdline and --stdin refs for the same destination are rejected' ' clear_remote && echo A:foo >input && - test_must_fail git send-pack remote.git --stdin B:foo err && + test_grep "dst ref refs/heads/foo receives from more than one src" err && test_must_fail git --git-dir=remote.git rev-parse foo ' -- 2.55.0