From patchwork Tue Jul 20 11:52:08 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= X-Patchwork-Id: 12388121 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0A3BCC07E95 for ; Tue, 20 Jul 2021 11:52:37 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id E0EF1610FB for ; Tue, 20 Jul 2021 11:52:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237034AbhGTLLq (ORCPT ); Tue, 20 Jul 2021 07:11:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35272 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237203AbhGTLLg (ORCPT ); Tue, 20 Jul 2021 07:11:36 -0400 Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com [IPv6:2a00:1450:4864:20::531]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DFE49C061762 for ; Tue, 20 Jul 2021 04:52:14 -0700 (PDT) Received: by mail-ed1-x531.google.com with SMTP id h8so28135722eds.4 for ; Tue, 20 Jul 2021 04:52:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=z/ZbnzTKpkP1CAMhggcuNIgtP/1e+nw/W2ODrD2+6kU=; b=c68bmcFZ1Wsa45oXHt+JkaGjE5ZxdDELjzX2EbFKN+nAIXyLeSx8e/X3P3kpEYjLGV xxiE7E189RelppVHzhSzyBJ7uXmEFkY/emjvG1xCYRhnlKeYZIf2iYfqbgWzTVE/d9Fi z+TZecCaNV7gPQ0sK+wPXErUR/rU0XtVZpMY6Ane4SXAw3s3GNPBsEDhLPGCRbTB+qs1 aY9huX9OVnQBFvzXz5f1WQc1CTjtehRmrJidUHoz3s2dbncIRx5OJJD+sz7SThhOGG4c TD3BLrk8numiFXq2JHUAFGUA4OE59C+AZb+Ptu4bd1eAfQBgs2GZBT24V/PGIL3ekaf/ GBfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=z/ZbnzTKpkP1CAMhggcuNIgtP/1e+nw/W2ODrD2+6kU=; b=i91SC+7nE7Qvn48Zt7QZMV6PYRfaFOGbXRO2KW9YgeBQ1AMiWkpCiqypVzY6k8yCMx oIO8s2PfjR2UhVTZReHxbH9sGT3a3tBXm4v8RFtp8Vfe+EcB18kSGDj4OHHsjeZUpYyW AzGfx8PIpoQMpjLH8yIPRsEObmavm6Ru03eB7Jp51CbY66l5MbVKzZ+h+lIutQ7p9PDA vFVtlRI82PvFUpW9Rc9DZ0tiG1d7mj8H0zdGEr/+jZEhsF7dXcAa7jLMCmvsY1eQqUKs 45ZzrIbl9Ydy76vjncW1UxwQeMHHDN69CYN752upjCIrVq4HKKif3YRw/gVuxpwZANOz daOw== X-Gm-Message-State: AOAM533vRpTGgnDmz154DP70mw7MlXPoC5ZRLxK8nwu2zjy1i6fEBMuk CAK9zk9lHWQKddafTv+wX9pp2QQQseSREA== X-Google-Smtp-Source: ABdhPJzsQIjCEGBl1O2j0wPcWtxaxD9dibBGQHSveBQ/ogkQ2HYY3jxPng/gk1o5v/m+Ek242L/6vA== X-Received: by 2002:a50:fb04:: with SMTP id d4mr39980798edq.143.1626781933325; Tue, 20 Jul 2021 04:52:13 -0700 (PDT) Received: from vm.nix.is (vm.nix.is. [2a01:4f8:120:2468::2]) by smtp.gmail.com with ESMTPSA id i11sm9100409edu.97.2021.07.20.04.52.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Jul 2021 04:52:12 -0700 (PDT) From: =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= To: git@vger.kernel.org Cc: Junio C Hamano , Jonathan Nieder , Jiang Xin , =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsCBC?= =?utf-8?b?amFybWFzb24=?= Subject: [PATCH 1/2] bundle tests: use ">file" not ": >file" Date: Tue, 20 Jul 2021 13:52:08 +0200 Message-Id: X-Mailer: git-send-email 2.32.0.874.ge7a9d58bfcf In-Reply-To: References: MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Change redundant uses of ":" on the LHS of a ">" to the more commonly use ">file" pattern. Signed-off-by: Ævar Arnfjörð Bjarmason --- t/t5607-clone-bundle.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/t/t5607-clone-bundle.sh b/t/t5607-clone-bundle.sh index f4c383cd5ce..c9323a08fe8 100755 --- a/t/t5607-clone-bundle.sh +++ b/t/t5607-clone-bundle.sh @@ -54,14 +54,14 @@ test_expect_success 'bundle --stdin ' ' ' test_expect_success 'empty bundle file is rejected' ' - : >empty-bundle && + >empty-bundle && test_must_fail git fetch empty-bundle ' # This triggers a bug in older versions where the resulting line (with # --pretty=oneline) was longer than a 1024-char buffer. test_expect_success 'ridiculously long subject in boundary' ' - : >file4 && + >file4 && test_tick && git add file4 && printf "%01200d\n" 0 | git commit -F - && @@ -75,7 +75,7 @@ test_expect_success 'ridiculously long subject in boundary' ' ' test_expect_success 'prerequisites with an empty commit message' ' - : >file1 && + >file1 && git add file1 && test_tick && git commit --allow-empty-message -m "" && From patchwork Tue Jul 20 11:52:09 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= X-Patchwork-Id: 12388141 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 11D9CC07E95 for ; Tue, 20 Jul 2021 11:53:07 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id EB4A86113B for ; Tue, 20 Jul 2021 11:53:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237665AbhGTLMT (ORCPT ); Tue, 20 Jul 2021 07:12:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35280 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237659AbhGTLLh (ORCPT ); Tue, 20 Jul 2021 07:11:37 -0400 Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com [IPv6:2a00:1450:4864:20::534]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BFD9DC061766 for ; Tue, 20 Jul 2021 04:52:15 -0700 (PDT) Received: by mail-ed1-x534.google.com with SMTP id dj21so28194636edb.0 for ; Tue, 20 Jul 2021 04:52:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ZpUQMg1NkFRlLpfV/thpMPW1/TwsBxXvRJYmbHaAGKQ=; b=bqw9bEucKSfO4prqSh5k4GOJeTxhRqXz9b2xblAUFU6dhUDblf20wUSScrScKfvd/0 HVoiEFjyHQNbtMP9ysepLWEpZg0BcqwhSeE3p2qYVz2DKUK52JvxJ1mwdH/5mViW5b60 KtcG4mkvzllzE3GsXSaDoLEOYufVqEPURqlE4WbvwXAERkMRXEkn+wz6tIwTHjX+IWrB ijrUeep2IJUC3MpYadgE1M/9aF2SlyeQCA2m4BTrXFWcthjEAQhkp9daYPTzs9Ly3RVK hM2H9DCZOQrEn+fF+wRBJ/bSPO3M049R/BZShJIka5rmfq7JKw6UVyc2RbdQdDS8a93l hziA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ZpUQMg1NkFRlLpfV/thpMPW1/TwsBxXvRJYmbHaAGKQ=; b=dYhK/VslXUCI3xLK53Sa7/uBpSVphPAMLS0X7NoR+vMjYnGD2XaCvUDo8bCsv+MYkB g26AzNUnKyXnalsxniAd7wvZNJaAseEk9bI7RpUmhhUyGdEIuroDu+0YO4C16PLXrGZx iq4TXt1+bn293DlQeZ2gPmvnFdg3TocfGvUf1JnXN3uAeqktaFi+jpzVeKoTsMBVxbg/ 4NPtoJODd7CJfPWnrlEH3O03zuhpeBQ7BqERRd0gHqDkgHpBXoYU/Pq8lFz+GGoBR/yS 0joooy9PkZmKrG0R8NVCvk7RtzaeRp7lWhr41u5d/9BRFrAP2gsDFLUqjFrbxXPnoa1w c6Ng== X-Gm-Message-State: AOAM532WV6CcvjvTRBrRbrVuD8N1miFHSa6Dor9qLz/WRQOIEvnYR1ma 4R/v51qHpPQWswXb89fsH17nZOBamEI+8Q== X-Google-Smtp-Source: ABdhPJza38d61qKCm/boi0C69HQVi3KQL0+/v5q9vd16xmth5b6Qxs3kDaVFv4kYAKst2LhjZvgOOQ== X-Received: by 2002:a05:6402:1d2d:: with SMTP id dh13mr22318445edb.90.1626781934085; Tue, 20 Jul 2021 04:52:14 -0700 (PDT) Received: from vm.nix.is (vm.nix.is. [2a01:4f8:120:2468::2]) by smtp.gmail.com with ESMTPSA id i11sm9100409edu.97.2021.07.20.04.52.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Jul 2021 04:52:13 -0700 (PDT) From: =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= To: git@vger.kernel.org Cc: Junio C Hamano , Jonathan Nieder , Jiang Xin , =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsCBC?= =?utf-8?b?amFybWFzb24=?= Subject: [PATCH 2/2] bundle tests: use test_cmp instead of grep Date: Tue, 20 Jul 2021 13:52:09 +0200 Message-Id: X-Mailer: git-send-email 2.32.0.874.ge7a9d58bfcf In-Reply-To: References: MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Change the bundle tests to fully compare the expected "git ls-remote" or "git bundle list-heads" output, instead of merely grepping it. This avoids subtle regressions in the tests. In f62e0a39b6 (t5704 (bundle): add tests for bundle --stdin, 2010-04-19) the "bundle --stdin " test was added to make sure we didn't include the tag. But since the --stdin mode didn't work until 5bb0fd2cab (bundle: arguments can be read from stdin, 2021-01-11) our grepping of "master" (later "main") missed the important part of the test. Namely that we should not include the "refs/tags/tag" tag in that case. Since the test only grepped for "main" in the output we'd miss a regression in that code. So let's use test_cmp instead, and also in the other nearby tests where it's easy. This does make things a bit more verbose in the case of the test that's checking the bundle header, since it's different under SHA1 and SHA256. I think this makes test easier to follow. I've got some WIP changes to extend the "git bundle" command to dump parts of the header out, which are easier to understand if we test the output explicitly like this. Signed-off-by: Ævar Arnfjörð Bjarmason --- t/t5607-clone-bundle.sh | 68 +++++++++++++++++++++++++++++++++-------- 1 file changed, 55 insertions(+), 13 deletions(-) diff --git a/t/t5607-clone-bundle.sh b/t/t5607-clone-bundle.sh index c9323a08fe8..a7f18407e32 100755 --- a/t/t5607-clone-bundle.sh +++ b/t/t5607-clone-bundle.sh @@ -29,11 +29,21 @@ test_expect_success '"verify" needs a worktree' ' test_expect_success 'annotated tags can be excluded by rev-list options' ' git bundle create bundle --all --since=7.Apr.2005.15:14:00.-0700 && - git ls-remote bundle > output && - grep tag output && + cat >expect <<-EOF && + $(git rev-parse HEAD) HEAD + $(git rev-parse tag) refs/tags/tag + $(git rev-parse main) refs/heads/main + EOF + git ls-remote bundle >actual && + test_cmp expect actual && + git bundle create bundle --all --since=7.Apr.2005.15:16:00.-0700 && - git ls-remote bundle > output && - ! grep tag output + cat >expect <<-EOF && + $(git rev-parse HEAD) HEAD + $(git rev-parse main) refs/heads/main + EOF + git ls-remote bundle >actual && + test_cmp expect actual ' test_expect_success 'die if bundle file cannot be created' ' @@ -43,14 +53,20 @@ test_expect_success 'die if bundle file cannot be created' ' test_expect_success 'bundle --stdin' ' echo main | git bundle create stdin-bundle.bdl --stdin && - git ls-remote stdin-bundle.bdl >output && - grep main output + cat >expect <<-EOF && + $(git rev-parse main) refs/heads/main + EOF + git ls-remote stdin-bundle.bdl >actual && + test_cmp expect actual ' test_expect_success 'bundle --stdin ' ' echo main | git bundle create hybrid-bundle.bdl --stdin tag && - git ls-remote hybrid-bundle.bdl >output && - grep main output + cat >expect <<-EOF && + $(git rev-parse main) refs/heads/main + EOF + git ls-remote stdin-bundle.bdl >actual && + test_cmp expect actual ' test_expect_success 'empty bundle file is rejected' ' @@ -67,11 +83,33 @@ test_expect_success 'ridiculously long subject in boundary' ' printf "%01200d\n" 0 | git commit -F - && test_commit fifth && git bundle create long-subject-bundle.bdl HEAD^..HEAD && - git bundle list-heads long-subject-bundle.bdl >heads && - test -s heads && + cat >expect <<-EOF && + $(git rev-parse main) HEAD + EOF + git bundle list-heads long-subject-bundle.bdl >actual && + test_cmp expect actual && + git fetch long-subject-bundle.bdl && - sed -n "/^-/{p;q;}" long-subject-bundle.bdl >boundary && - grep "^-$OID_REGEX " boundary + + cat >expect.common <<-EOF && + -$(git log --pretty=format:"%H %s" -1 HEAD^) + $(git rev-parse HEAD) HEAD + EOF + if test_have_prereq SHA1 + then + cp expect.common expect + else + echo @object-format=sha256 >expect + cat expect.common >>expect + fi && + if test_have_prereq SHA1 + then + head -n 3 long-subject-bundle.bdl >bundle-header + else + head -n 4 long-subject-bundle.bdl >bundle-header + fi && + grep -v "^#" bundle-header >actual && + test_cmp expect actual ' test_expect_success 'prerequisites with an empty commit message' ' @@ -103,7 +141,11 @@ test_expect_success 'fetch SHA-1 from bundle' ' test_expect_success 'git bundle uses expected default format' ' git bundle create bundle HEAD^.. && - head -n1 bundle | grep "^# v$(test_oid version) git bundle$" + cat >expect <<-EOF && + # v$(test_oid version) git bundle + EOF + head -n1 bundle >actual && + test_cmp expect actual ' test_expect_success 'git bundle v3 has expected contents' '