From patchwork Fri Sep 21 01:43:27 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew DeVore X-Patchwork-Id: 10608905 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E8A0F913 for ; Fri, 21 Sep 2018 01:43:53 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E118F2DFF0 for ; Fri, 21 Sep 2018 01:43:53 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D38C92E005; Fri, 21 Sep 2018 01:43:53 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.5 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI, USER_IN_DEF_DKIM_WL autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 80F212DFF0 for ; Fri, 21 Sep 2018 01:43:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388901AbeIUHaQ (ORCPT ); Fri, 21 Sep 2018 03:30:16 -0400 Received: from mail-qk1-f201.google.com ([209.85.222.201]:56578 "EHLO mail-qk1-f201.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388868AbeIUHaQ (ORCPT ); Fri, 21 Sep 2018 03:30:16 -0400 Received: by mail-qk1-f201.google.com with SMTP id v65-v6so9418924qka.23 for ; Thu, 20 Sep 2018 18:43:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:in-reply-to:message-id:mime-version:references:subject:from:to :cc; bh=VQimIdG5xD6KlZPhDqknJpYIETASC9Buquo4jns5Vzg=; b=lv4wVOzYWrKHW8ljBPUdb/Xq0NbqAqkl60fK8Ec71o0xDE9oS5hWgcOS/nUZUyozYs f8DHZMbm2H9MXAS2e6sJeXa7RtpuW72Ovcz7hvTqO22gcwW+I7i5WBWxD9YVPK4AOzLT witdcyvR1sycbZ1F7XY8e+DkdpQYCfKe+1s+Etz56q8eBWRWxxkhL+E4dqjk/LyCa4rV 3lFyT3ZUyEXOAJG9MP1GkP0rJ4qCKPIpiiLU2RggpmYx1xAF8z3A91kvZQ/8t26NUX7y 9dO43pzTTBjS7R/ZFO0EdPws2hMVB/QKT9HOwSvj0KYsUoL+KEavqxft2XwQkJmIprPY G3XQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc; bh=VQimIdG5xD6KlZPhDqknJpYIETASC9Buquo4jns5Vzg=; b=FycMoUgntPyxM3jm8vy3yKJhpRDOtHUgqpcHHMv5rlAxA3vWQBGyhrVsThT08ee7LM laExP4QMom9MOCXQz6rMZ6Xl+LZW9hA5xaR5tq90nTrCj6oGUV6MfIEoP4iG0crxynVa vQiXCvODjk7y8tB7Qv4N1mNLmSZ0wD1S7kz6InJW+oy01AJW0brjwMDamJ8895Rd0Ukr J0KKxO6rUHsIS69LyAyecvCBb4HRmmUpq/55QDWfZMyx6ynEvjyhhHDPNNR4NZYohVNO KRmKbYSwU8cBCiVxnD33p1j+dtpshUsVXo9E27grzrIJjLXFtyUhqTlYOL4+zuentANz OV9A== X-Gm-Message-State: APzg51AFOH0I/MJerh6W9NohydMl++80AsMiC+vSdXjdcnHhf3GixVPy NifkoDRxbVSLLZ1zOtlj4DSEnuf+lewQ4JNhvUh0lIubwp9niYFnUgHgqAbeWvoxjUAoSoVsseA nUFoKnC0+WWb7CIxd190UNrVzjGfg/4Ime0mJo8igelyJkfqR45L135MsTyE= X-Google-Smtp-Source: ANB0VdawVK6FzWoYtTIQxAs+DWEN6vEx3cqN2nnhu9Ku26QfUIW0iJRv6Izn30GHYLU1LPU4yoOBS3ptCc1m X-Received: by 2002:a0c:e7c2:: with SMTP id c2-v6mr14361893qvo.10.1537494230777; Thu, 20 Sep 2018 18:43:50 -0700 (PDT) Date: Thu, 20 Sep 2018 18:43:27 -0700 In-Reply-To: Message-Id: <7dd9a1120726dee34aeebdfa4bf45a232c185500.1537493611.git.matvore@google.com> Mime-Version: 1.0 References: X-Mailer: git-send-email 2.19.0.444.g18242da7ef-goog Subject: [PATCH v3 1/5] CodingGuidelines: add shell piping guidelines From: Matthew DeVore To: git@vger.kernel.org Cc: Matthew DeVore , peff@peff.net, jonathantanmy@google.com, gitster@pobox.com, jrn@google.com, sunshine@sunshineco.com Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Add two guidelines: - pipe characters should appear at the end of lines, and not cause indentation - pipes should be avoided when they swallow exit codes that can potentially fail --- Documentation/CodingGuidelines | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines index 48aa4edfb..6d265327c 100644 --- a/Documentation/CodingGuidelines +++ b/Documentation/CodingGuidelines @@ -118,6 +118,24 @@ For shell scripts specifically (not exhaustive): do this fi + - If a command sequence joined with && or || or | spans multiple + lines, put each command on a separate line and put && and || and | + operators at the end of each line, rather than the start. This + means you don't need to use \ to join lines, since the above + operators imply the sequence isn't finished. + + (incorrect) + grep blob verify_pack_result \ + | awk -f print_1.awk \ + | sort >actual && + ... + + (correct) + grep blob verify_pack_result | + awk -f print_1.awk | + sort >actual && + ... + - We prefer "test" over "[ ... ]". - We do not write the noiseword "function" in front of shell @@ -163,6 +181,15 @@ For shell scripts specifically (not exhaustive): does not have such a problem. + - In a piped chain such as "grep blob objects | sort", the exit codes + returned by processes besides the last are ignored. This means that + if git crashes at the beginning or middle of a chain, it may go + undetected. Prefer writing the output of that command to a + temporary file with '>' rather than pipe it. + + - The $(git ...) construct also discards git's exit code, so if the + goal is to test that particular command, redirect its output to a + temporary file rather than wrap it with $( ). For C programs: From patchwork Fri Sep 21 01:43:28 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew DeVore X-Patchwork-Id: 10608907 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id EAF23112B for ; Fri, 21 Sep 2018 01:43:57 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E299C2DFF0 for ; Fri, 21 Sep 2018 01:43:57 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D69672E005; Fri, 21 Sep 2018 01:43:57 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.5 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI, USER_IN_DEF_DKIM_WL autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3AA952DFF0 for ; Fri, 21 Sep 2018 01:43:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388966AbeIUHaT (ORCPT ); Fri, 21 Sep 2018 03:30:19 -0400 Received: from mail-pg1-f202.google.com ([209.85.215.202]:52941 "EHLO mail-pg1-f202.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388868AbeIUHaS (ORCPT ); Fri, 21 Sep 2018 03:30:18 -0400 Received: by mail-pg1-f202.google.com with SMTP id m4-v6so4971886pgq.19 for ; Thu, 20 Sep 2018 18:43:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:in-reply-to:message-id:mime-version:references:subject:from:to :cc; bh=XXFHj9w49vRwGmg9cC7yqfFgS8bIr61uWQ/YO2aSsRE=; b=Gt+A+ExUf7aDkL7PBbKYAjOzqO/VakeizCX7rZNjxgvIOyBwvtyAtbg4qiklVi6bv5 cOv8thb3upp0HVdrOc7eHRltFA/gZhKCzfErAgdYCWq1EmK8XyulxugDLXjXwhTeom7V d3cxpLbxRg2NFfcIc90plJ8NffxNGTu7lLVXdxDL/sQTgjtSFyt9guTn+K1vUAiA1YeN LF1CmpYmUHVAVGa2kzy1paWOwKUxxZQBucCLJw+ULz7TDJz5Inm6kLvahc9QPVPbIsPd 9eIXuFkeDnD7h+NxML0SeyOmpNT/c8IYr8BG0orpVJ4z8+TikiKRKTHeGz8pXX7Lxo9N pjNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc; bh=XXFHj9w49vRwGmg9cC7yqfFgS8bIr61uWQ/YO2aSsRE=; b=NVLX5Wo4rHJJ7wM3faSJMokshZHOj8MU8Y8qN/xlpI+GXf1a8GSoQERWXbxh8gLdO0 WEnJRPWmK4b5qn48oFjup8gWdtaUKKkJFbrl3HxdZ7R7S4d9JE4VhhKQV5hBfwvPppw/ 2H3D3QIDfdYQeUKvwatZrBh9zhaJdCY5L4I/1pVC+FyTJzFZP+2Cy3AYwA9Ygyrq89uL cqzPT8YlxLRpmSCOjhh2VrbMrXuzAxzchrQKxgRMxHwH14Oi+gTj5aemaIpb9bFi35K0 YjMfiSPUzwAsBOVhfZhP9lz1zSIy5pCB81eRsv06FBEPC4gMEl5bZ5dOx27KIMSnkvh1 nSnw== X-Gm-Message-State: APzg51CF6en1QWKIsSs/4KkuBdu8EOaGJWomAtDAH84QDgyJcZhfrXVz X3fmITUghvqjv05PWszOsNFgJfkasTHgNj3kKTMX8DJ9BY9JDb1ODU8aXuPaMhxN62F4INpxf/6 DQrC1KHj4X4xVx9HYL/dlWD5Jb9Ijau5V+OkSpQvwTE1Rqsf+L1TdEUz8ZXk= X-Google-Smtp-Source: ANB0VdZqFT2shLFAfgmk1Mco/BJmx0BGPw1Sct9dNt0VKnihAGCUY2XjTDuvbj3eKOrkQI8yFd+bevFK+5FF X-Received: by 2002:a63:583:: with SMTP id 125-v6mr1808728pgf.26.1537494233084; Thu, 20 Sep 2018 18:43:53 -0700 (PDT) Date: Thu, 20 Sep 2018 18:43:28 -0700 In-Reply-To: Message-Id: <45251cefdeb1f099ff6c410b44d8fde3f33cd6c4.1537493611.git.matvore@google.com> Mime-Version: 1.0 References: X-Mailer: git-send-email 2.19.0.444.g18242da7ef-goog Subject: [PATCH v3 2/5] tests: standardize pipe placement From: Matthew DeVore To: git@vger.kernel.org Cc: Matthew DeVore , peff@peff.net, jonathantanmy@google.com, gitster@pobox.com, jrn@google.com, sunshine@sunshineco.com Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Instead of using a line-continuation and pipe on the second line, take advantage of the shell's implicit line continuation after a pipe character. So for example, instead of some long line \ | next line use some long line | next line And add a blank line before and after the pipe where it aids readability (it usually does). This better matches the coding style documented in Documentation/CodingGuidelines and used in shell scripts elsewhere in the tree. Signed-off-by: Matthew DeVore --- t/lib-gpg.sh | 9 +- t/t1006-cat-file.sh | 8 +- t/t1300-config.sh | 5 +- t/t5317-pack-objects-filter-objects.sh | 330 ++++++++++++++----------- t/t5500-fetch-pack.sh | 7 +- t/t5616-partial-clone.sh | 32 ++- t/t6112-rev-list-filters-objects.sh | 203 ++++++++------- 7 files changed, 344 insertions(+), 250 deletions(-) diff --git a/t/lib-gpg.sh b/t/lib-gpg.sh index 3fe02876c..f1277bef4 100755 --- a/t/lib-gpg.sh +++ b/t/lib-gpg.sh @@ -57,9 +57,12 @@ then echo | gpgsm --homedir "${GNUPGHOME}" 2>/dev/null \ --passphrase-fd 0 --pinentry-mode loopback \ --import "$TEST_DIRECTORY"/lib-gpg/gpgsm_cert.p12 && - gpgsm --homedir "${GNUPGHOME}" 2>/dev/null -K \ - | grep fingerprint: | cut -d" " -f4 | tr -d '\n' > \ - ${GNUPGHOME}/trustlist.txt && + + gpgsm --homedir "${GNUPGHOME}" 2>/dev/null -K | + grep fingerprint: | + cut -d" " -f4 | + tr -d '\n' >"${GNUPGHOME}/trustlist.txt" && + echo " S relax" >> ${GNUPGHOME}/trustlist.txt && (gpgconf --kill gpg-agent >/dev/null 2>&1 || : ) && echo hello | gpgsm --homedir "${GNUPGHOME}" >/dev/null \ diff --git a/t/t1006-cat-file.sh b/t/t1006-cat-file.sh index 7f19d591f..a0fa926d3 100755 --- a/t/t1006-cat-file.sh +++ b/t/t1006-cat-file.sh @@ -218,8 +218,8 @@ test_expect_success "--batch-check for a non-existent hash" ' test "0000000000000000000000000000000000000042 missing 0000000000000000000000000000000000000084 missing" = \ "$( ( echo 0000000000000000000000000000000000000042; - echo_without_newline 0000000000000000000000000000000000000084; ) \ - | git cat-file --batch-check)" + echo_without_newline 0000000000000000000000000000000000000084; ) | + git cat-file --batch-check)" ' test_expect_success "--batch for an existent and a non-existent hash" ' @@ -227,8 +227,8 @@ test_expect_success "--batch for an existent and a non-existent hash" ' $tag_content 0000000000000000000000000000000000000000 missing" = \ "$( ( echo $tag_sha1; - echo_without_newline 0000000000000000000000000000000000000000; ) \ - | git cat-file --batch)" + echo_without_newline 0000000000000000000000000000000000000000; ) | + git cat-file --batch)" ' test_expect_success "--batch-check for an empty line" ' diff --git a/t/t1300-config.sh b/t/t1300-config.sh index cdf1fed5d..5869d6cb6 100755 --- a/t/t1300-config.sh +++ b/t/t1300-config.sh @@ -1770,8 +1770,9 @@ test_expect_success '--show-origin stdin with file include' ' cat >expect <<-EOF && file:$INCLUDE_DIR/stdin.include include EOF - echo "[include]path=\"$INCLUDE_DIR\"/stdin.include" \ - | git config --show-origin --includes --file - user.stdin >output && + echo "[include]path=\"$INCLUDE_DIR\"/stdin.include" | + git config --show-origin --includes --file - user.stdin >output && + test_cmp expect output ' diff --git a/t/t5317-pack-objects-filter-objects.sh b/t/t5317-pack-objects-filter-objects.sh index 6710c8bc8..ce69148ec 100755 --- a/t/t5317-pack-objects-filter-objects.sh +++ b/t/t5317-pack-objects-filter-objects.sh @@ -20,17 +20,20 @@ test_expect_success 'setup r1' ' ' test_expect_success 'verify blob count in normal packfile' ' - git -C r1 ls-files -s file.1 file.2 file.3 file.4 file.5 \ - | awk -f print_2.awk \ - | sort >expected && + git -C r1 ls-files -s file.1 file.2 file.3 file.4 file.5 | + awk -f print_2.awk | + sort >expected && + git -C r1 pack-objects --rev --stdout >all.pack <<-EOF && HEAD EOF git -C r1 index-pack ../all.pack && - git -C r1 verify-pack -v ../all.pack \ - | grep blob \ - | awk -f print_1.awk \ - | sort >observed && + + git -C r1 verify-pack -v ../all.pack | + grep blob | + awk -f print_1.awk | + sort >observed && + test_cmp observed expected ' @@ -39,23 +42,27 @@ test_expect_success 'verify blob:none packfile has no blobs' ' HEAD EOF git -C r1 index-pack ../filter.pack && - git -C r1 verify-pack -v ../filter.pack \ - | grep blob \ - | awk -f print_1.awk \ - | sort >observed && + + git -C r1 verify-pack -v ../filter.pack | + grep blob | + awk -f print_1.awk | + sort >observed && + nr=$(wc -l expected && - git -C r1 verify-pack -v ../filter.pack \ - | grep -E "commit|tree" \ - | awk -f print_1.awk \ - | sort >observed && + git -C r1 verify-pack -v ../all.pack | + grep -E "commit|tree" | + awk -f print_1.awk | + sort >expected && + + git -C r1 verify-pack -v ../filter.pack | + grep -E "commit|tree" | + awk -f print_1.awk | + sort >observed && + test_cmp observed expected ' @@ -75,17 +82,20 @@ test_expect_success 'setup r2' ' ' test_expect_success 'verify blob count in normal packfile' ' - git -C r2 ls-files -s large.1000 large.10000 \ - | awk -f print_2.awk \ - | sort >expected && + git -C r2 ls-files -s large.1000 large.10000 | + awk -f print_2.awk | + sort >expected && + git -C r2 pack-objects --rev --stdout >all.pack <<-EOF && HEAD EOF git -C r2 index-pack ../all.pack && - git -C r2 verify-pack -v ../all.pack \ - | grep blob \ - | awk -f print_1.awk \ - | sort >observed && + + git -C r2 verify-pack -v ../all.pack | + grep blob | + awk -f print_1.awk | + sort >observed && + test_cmp observed expected ' @@ -94,10 +104,12 @@ test_expect_success 'verify blob:limit=500 omits all blobs' ' HEAD EOF git -C r2 index-pack ../filter.pack && - git -C r2 verify-pack -v ../filter.pack \ - | grep blob \ - | awk -f print_1.awk \ - | sort >observed && + + git -C r2 verify-pack -v ../filter.pack | + grep blob | + awk -f print_1.awk | + sort >observed && + nr=$(wc -l observed && + + git -C r2 verify-pack -v ../filter.pack | + grep blob | + awk -f print_1.awk | + sort >observed && + nr=$(wc -l expected && + git -C r2 ls-files -s large.1000 | + awk -f print_2.awk | + sort >expected && + git -C r2 pack-objects --rev --stdout --filter=blob:limit=1001 >filter.pack <<-EOF && HEAD EOF git -C r2 index-pack ../filter.pack && - git -C r2 verify-pack -v ../filter.pack \ - | grep blob \ - | awk -f print_1.awk \ - | sort >observed && + + git -C r2 verify-pack -v ../filter.pack | + grep blob | + awk -f print_1.awk | + sort >observed && + test_cmp observed expected ' test_expect_success 'verify blob:limit=10001' ' - git -C r2 ls-files -s large.1000 large.10000 \ - | awk -f print_2.awk \ - | sort >expected && + git -C r2 ls-files -s large.1000 large.10000 | + awk -f print_2.awk | + sort >expected && + git -C r2 pack-objects --rev --stdout --filter=blob:limit=10001 >filter.pack <<-EOF && HEAD EOF git -C r2 index-pack ../filter.pack && - git -C r2 verify-pack -v ../filter.pack \ - | grep blob \ - | awk -f print_1.awk \ - | sort >observed && + + git -C r2 verify-pack -v ../filter.pack | + grep blob | + awk -f print_1.awk | + sort >observed && + test_cmp observed expected ' test_expect_success 'verify blob:limit=1k' ' - git -C r2 ls-files -s large.1000 \ - | awk -f print_2.awk \ - | sort >expected && + git -C r2 ls-files -s large.1000 | + awk -f print_2.awk | + sort >expected && + git -C r2 pack-objects --rev --stdout --filter=blob:limit=1k >filter.pack <<-EOF && HEAD EOF git -C r2 index-pack ../filter.pack && - git -C r2 verify-pack -v ../filter.pack \ - | grep blob \ - | awk -f print_1.awk \ - | sort >observed && + + git -C r2 verify-pack -v ../filter.pack | + grep blob | + awk -f print_1.awk | + sort >observed && + test_cmp observed expected ' test_expect_success 'verify explicitly specifying oversized blob in input' ' - git -C r2 ls-files -s large.1000 large.10000 \ - | awk -f print_2.awk \ - | sort >expected && + git -C r2 ls-files -s large.1000 large.10000 | + awk -f print_2.awk | + sort >expected && + git -C r2 pack-objects --rev --stdout --filter=blob:limit=1k >filter.pack <<-EOF && HEAD $(git -C r2 rev-parse HEAD:large.10000) EOF git -C r2 index-pack ../filter.pack && - git -C r2 verify-pack -v ../filter.pack \ - | grep blob \ - | awk -f print_1.awk \ - | sort >observed && + + git -C r2 verify-pack -v ../filter.pack | + grep blob | + awk -f print_1.awk | + sort >observed && + test_cmp observed expected ' test_expect_success 'verify blob:limit=1m' ' - git -C r2 ls-files -s large.1000 large.10000 \ - | awk -f print_2.awk \ - | sort >expected && + git -C r2 ls-files -s large.1000 large.10000 | + awk -f print_2.awk | + sort >expected && + git -C r2 pack-objects --rev --stdout --filter=blob:limit=1m >filter.pack <<-EOF && HEAD EOF git -C r2 index-pack ../filter.pack && - git -C r2 verify-pack -v ../filter.pack \ - | grep blob \ - | awk -f print_1.awk \ - | sort >observed && + + git -C r2 verify-pack -v ../filter.pack | + grep blob | + awk -f print_1.awk | + sort >observed && + test_cmp observed expected ' test_expect_success 'verify normal and blob:limit packfiles have same commits/trees' ' - git -C r2 verify-pack -v ../all.pack \ - | grep -E "commit|tree" \ - | awk -f print_1.awk \ - | sort >expected && - git -C r2 verify-pack -v ../filter.pack \ - | grep -E "commit|tree" \ - | awk -f print_1.awk \ - | sort >observed && + git -C r2 verify-pack -v ../all.pack | + grep -E "commit|tree" | + awk -f print_1.awk | + sort >expected && + + git -C r2 verify-pack -v ../filter.pack | + grep -E "commit|tree" | + awk -f print_1.awk | + sort >observed && + test_cmp observed expected ' @@ -224,71 +255,84 @@ test_expect_success 'setup r3' ' ' test_expect_success 'verify blob count in normal packfile' ' - git -C r3 ls-files -s sparse1 sparse2 dir1/sparse1 dir1/sparse2 \ - | awk -f print_2.awk \ - | sort >expected && + git -C r3 ls-files -s sparse1 sparse2 dir1/sparse1 dir1/sparse2 | + awk -f print_2.awk | + sort >expected && + git -C r3 pack-objects --rev --stdout >all.pack <<-EOF && HEAD EOF git -C r3 index-pack ../all.pack && - git -C r3 verify-pack -v ../all.pack \ - | grep blob \ - | awk -f print_1.awk \ - | sort >observed && + + git -C r3 verify-pack -v ../all.pack | + grep blob | + awk -f print_1.awk | + sort >observed && + test_cmp observed expected ' test_expect_success 'verify sparse:path=pattern1' ' - git -C r3 ls-files -s dir1/sparse1 dir1/sparse2 \ - | awk -f print_2.awk \ - | sort >expected && + git -C r3 ls-files -s dir1/sparse1 dir1/sparse2 | + awk -f print_2.awk | + sort >expected && + git -C r3 pack-objects --rev --stdout --filter=sparse:path=../pattern1 >filter.pack <<-EOF && HEAD EOF git -C r3 index-pack ../filter.pack && - git -C r3 verify-pack -v ../filter.pack \ - | grep blob \ - | awk -f print_1.awk \ - | sort >observed && + + git -C r3 verify-pack -v ../filter.pack | + grep blob | + awk -f print_1.awk | + sort >observed && + test_cmp observed expected ' test_expect_success 'verify normal and sparse:path=pattern1 packfiles have same commits/trees' ' - git -C r3 verify-pack -v ../all.pack \ - | grep -E "commit|tree" \ - | awk -f print_1.awk \ - | sort >expected && - git -C r3 verify-pack -v ../filter.pack \ - | grep -E "commit|tree" \ - | awk -f print_1.awk \ - | sort >observed && + git -C r3 verify-pack -v ../all.pack | + grep -E "commit|tree" | + awk -f print_1.awk | + sort >expected && + + git -C r3 verify-pack -v ../filter.pack | + grep -E "commit|tree" | + awk -f print_1.awk | + sort >observed && + test_cmp observed expected ' test_expect_success 'verify sparse:path=pattern2' ' - git -C r3 ls-files -s sparse1 dir1/sparse1 \ - | awk -f print_2.awk \ - | sort >expected && + git -C r3 ls-files -s sparse1 dir1/sparse1 | + awk -f print_2.awk | + sort >expected && + git -C r3 pack-objects --rev --stdout --filter=sparse:path=../pattern2 >filter.pack <<-EOF && HEAD EOF git -C r3 index-pack ../filter.pack && - git -C r3 verify-pack -v ../filter.pack \ - | grep blob \ - | awk -f print_1.awk \ - | sort >observed && + + git -C r3 verify-pack -v ../filter.pack | + grep blob | + awk -f print_1.awk | + sort >observed && + test_cmp observed expected ' test_expect_success 'verify normal and sparse:path=pattern2 packfiles have same commits/trees' ' - git -C r3 verify-pack -v ../all.pack \ - | grep -E "commit|tree" \ - | awk -f print_1.awk \ - | sort >expected && - git -C r3 verify-pack -v ../filter.pack \ - | grep -E "commit|tree" \ - | awk -f print_1.awk \ - | sort >observed && + git -C r3 verify-pack -v ../all.pack | + grep -E "commit|tree" | + awk -f print_1.awk | + sort >expected && + + git -C r3 verify-pack -v ../filter.pack | + grep -E "commit|tree" | + awk -f print_1.awk | + sort >observed && + test_cmp observed expected ' @@ -312,48 +356,57 @@ test_expect_success 'setup r4' ' ' test_expect_success 'verify blob count in normal packfile' ' - git -C r4 ls-files -s pattern sparse1 sparse2 dir1/sparse1 dir1/sparse2 \ - | awk -f print_2.awk \ - | sort >expected && + git -C r4 ls-files -s pattern sparse1 sparse2 dir1/sparse1 dir1/sparse2 | + awk -f print_2.awk | + sort >expected && + git -C r4 pack-objects --rev --stdout >all.pack <<-EOF && HEAD EOF git -C r4 index-pack ../all.pack && - git -C r4 verify-pack -v ../all.pack \ - | grep blob \ - | awk -f print_1.awk \ - | sort >observed && + + git -C r4 verify-pack -v ../all.pack | + grep blob | + awk -f print_1.awk | + sort >observed && + test_cmp observed expected ' test_expect_success 'verify sparse:oid=OID' ' - git -C r4 ls-files -s dir1/sparse1 dir1/sparse2 \ - | awk -f print_2.awk \ - | sort >expected && + git -C r4 ls-files -s dir1/sparse1 dir1/sparse2 | + awk -f print_2.awk | + sort >expected && + oid=$(git -C r4 ls-files -s pattern | awk -f print_2.awk) && git -C r4 pack-objects --rev --stdout --filter=sparse:oid=$oid >filter.pack <<-EOF && HEAD EOF git -C r4 index-pack ../filter.pack && - git -C r4 verify-pack -v ../filter.pack \ - | grep blob \ - | awk -f print_1.awk \ - | sort >observed && + + git -C r4 verify-pack -v ../filter.pack | + grep blob | + awk -f print_1.awk | + sort >observed && + test_cmp observed expected ' test_expect_success 'verify sparse:oid=oid-ish' ' - git -C r4 ls-files -s dir1/sparse1 dir1/sparse2 \ - | awk -f print_2.awk \ - | sort >expected && + git -C r4 ls-files -s dir1/sparse1 dir1/sparse2 | + awk -f print_2.awk | + sort >expected && + git -C r4 pack-objects --rev --stdout --filter=sparse:oid=master:pattern >filter.pack <<-EOF && HEAD EOF git -C r4 index-pack ../filter.pack && - git -C r4 verify-pack -v ../filter.pack \ - | grep blob \ - | awk -f print_1.awk \ - | sort >observed && + + git -C r4 verify-pack -v ../filter.pack | + grep blob | + awk -f print_1.awk | + sort >observed && + test_cmp observed expected ' @@ -361,9 +414,10 @@ test_expect_success 'verify sparse:oid=oid-ish' ' # This models previously omitted objects that we did not receive. test_expect_success 'setup r1 - delete loose blobs' ' - git -C r1 ls-files -s file.1 file.2 file.3 file.4 file.5 \ - | awk -f print_2.awk \ - | sort >expected && + git -C r1 ls-files -s file.1 file.2 file.3 file.4 file.5 | + awk -f print_2.awk | + sort >expected && + for id in `cat expected | sed "s|..|&/|"` do rm r1/.git/objects/$id diff --git a/t/t5500-fetch-pack.sh b/t/t5500-fetch-pack.sh index 1b5a4a6d3..086f2c40f 100755 --- a/t/t5500-fetch-pack.sh +++ b/t/t5500-fetch-pack.sh @@ -50,8 +50,11 @@ pull_to_client () { case "$heads" in *B*) git update-ref refs/heads/B "$BTIP";; esac && - git symbolic-ref HEAD refs/heads/$(echo $heads \ - | sed -e "s/^\(.\).*$/\1/") && + + git symbolic-ref HEAD refs/heads/$( + echo $heads | + sed -e "s/^\(.\).*$/\1/" + ) && git fsck --full && diff --git a/t/t5616-partial-clone.sh b/t/t5616-partial-clone.sh index bbbe7537d..e4d032c9d 100755 --- a/t/t5616-partial-clone.sh +++ b/t/t5616-partial-clone.sh @@ -34,10 +34,12 @@ test_expect_success 'setup bare clone for server' ' # confirm partial clone was registered in the local config. test_expect_success 'do partial clone 1' ' git clone --no-checkout --filter=blob:none "file://$(pwd)/srv.bare" pc1 && - git -C pc1 rev-list HEAD --quiet --objects --missing=print \ - | awk -f print_1.awk \ - | sed "s/?//" \ - | sort >observed.oids && + + git -C pc1 rev-list HEAD --quiet --objects --missing=print | + awk -f print_1.awk | + sed "s/?//" | + sort >observed.oids && + test_cmp expect_1.oids observed.oids && test "$(git -C pc1 config --local core.repositoryformatversion)" = "1" && test "$(git -C pc1 config --local extensions.partialclone)" = "origin" && @@ -130,16 +132,20 @@ test_expect_success 'push new commits to server for file.3.txt' ' # perhaps combined with a command in dry-run mode. test_expect_success 'manual prefetch of missing objects' ' git -C pc1 fetch --filter=blob:none origin && - git -C pc1 rev-list master..origin/master --quiet --objects --missing=print \ - | awk -f print_1.awk \ - | sed "s/?//" \ - | sort >observed.oids && + + git -C pc1 rev-list master..origin/master --quiet --objects --missing=print | + awk -f print_1.awk | + sed "s/?//" | + sort >observed.oids && + test_line_count = 6 observed.oids && git -C pc1 fetch-pack --stdin "file://$(pwd)/srv.bare" observed.oids && + + git -C pc1 rev-list master..origin/master --quiet --objects --missing=print | + awk -f print_1.awk | + sed "s/?//" | + sort >observed.oids && + test_line_count = 0 observed.oids ' @@ -194,7 +200,7 @@ test_expect_success 'upon cloning, check that all refs point to objects' ' # Craft a packfile not including that blob. git -C "$SERVER" rev-parse HEAD | - git -C "$SERVER" pack-objects --stdout >incomplete.pack && + git -C "$SERVER" pack-objects --stdout >incomplete.pack && # Replace the existing packfile with the crafted one. The protocol # requires that the packfile be sent in sideband 1, hence the extra diff --git a/t/t6112-rev-list-filters-objects.sh b/t/t6112-rev-list-filters-objects.sh index d4ff0b3be..0f6b569e1 100755 --- a/t/t6112-rev-list-filters-objects.sh +++ b/t/t6112-rev-list-filters-objects.sh @@ -20,24 +20,28 @@ test_expect_success 'setup r1' ' ' test_expect_success 'verify blob:none omits all 5 blobs' ' - git -C r1 ls-files -s file.1 file.2 file.3 file.4 file.5 \ - | awk -f print_2.awk \ - | sort >expected && - git -C r1 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:none \ - | awk -f print_1.awk \ - | sed "s/~//" \ - | sort >observed && + git -C r1 ls-files -s file.1 file.2 file.3 file.4 file.5 | + awk -f print_2.awk | + sort >expected && + + git -C r1 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:none | + awk -f print_1.awk | + sed "s/~//" | + sort >observed && + test_cmp observed expected ' test_expect_success 'verify emitted+omitted == all' ' - git -C r1 rev-list HEAD --objects \ - | awk -f print_1.awk \ - | sort >expected && - git -C r1 rev-list HEAD --objects --filter-print-omitted --filter=blob:none \ - | awk -f print_1.awk \ - | sed "s/~//" \ - | sort >observed && + git -C r1 rev-list HEAD --objects | + awk -f print_1.awk | + sort >expected && + + git -C r1 rev-list HEAD --objects --filter-print-omitted --filter=blob:none | + awk -f print_1.awk | + sed "s/~//" | + sort >observed && + test_cmp observed expected ' @@ -58,65 +62,76 @@ test_expect_success 'setup r2' ' ' test_expect_success 'verify blob:limit=500 omits all blobs' ' - git -C r2 ls-files -s large.1000 large.10000 \ - | awk -f print_2.awk \ - | sort >expected && - git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=500 \ - | awk -f print_1.awk \ - | sed "s/~//" \ - | sort >observed && + git -C r2 ls-files -s large.1000 large.10000 | + awk -f print_2.awk | + sort >expected && + + git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=500 | + awk -f print_1.awk | + sed "s/~//" | + sort >observed && + test_cmp observed expected ' test_expect_success 'verify emitted+omitted == all' ' - git -C r2 rev-list HEAD --objects \ - | awk -f print_1.awk \ - | sort >expected && - git -C r2 rev-list HEAD --objects --filter-print-omitted --filter=blob:limit=500 \ - | awk -f print_1.awk \ - | sed "s/~//" \ - | sort >observed && + git -C r2 rev-list HEAD --objects | + awk -f print_1.awk | + sort >expected && + + git -C r2 rev-list HEAD --objects --filter-print-omitted --filter=blob:limit=500 | + awk -f print_1.awk | + sed "s/~//" | + sort >observed && + test_cmp observed expected ' test_expect_success 'verify blob:limit=1000' ' - git -C r2 ls-files -s large.1000 large.10000 \ - | awk -f print_2.awk \ - | sort >expected && - git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=1000 \ - | awk -f print_1.awk \ - | sed "s/~//" \ - | sort >observed && + git -C r2 ls-files -s large.1000 large.10000 | + awk -f print_2.awk | + sort >expected && + + git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=1000 | + awk -f print_1.awk | + sed "s/~//" | + sort >observed && + test_cmp observed expected ' test_expect_success 'verify blob:limit=1001' ' - git -C r2 ls-files -s large.10000 \ - | awk -f print_2.awk \ - | sort >expected && - git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=1001 \ - | awk -f print_1.awk \ - | sed "s/~//" \ - | sort >observed && + git -C r2 ls-files -s large.10000 | + awk -f print_2.awk | + sort >expected && + + git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=1001 | + awk -f print_1.awk | + sed "s/~//" | + sort >observed && + test_cmp observed expected ' test_expect_success 'verify blob:limit=1k' ' - git -C r2 ls-files -s large.10000 \ - | awk -f print_2.awk \ - | sort >expected && - git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=1k \ - | awk -f print_1.awk \ - | sed "s/~//" \ - | sort >observed && + git -C r2 ls-files -s large.10000 | + awk -f print_2.awk | + sort >expected && + + git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=1k | + awk -f print_1.awk | + sed "s/~//" | + sort >observed && + test_cmp observed expected ' test_expect_success 'verify blob:limit=1m' ' - git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=1m \ - | awk -f print_1.awk \ - | sed "s/~//" \ - | sort >observed && + git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=1m | + awk -f print_1.awk | + sed "s/~//" | + sort >observed && + test_must_be_empty observed ' @@ -141,24 +156,28 @@ test_expect_success 'setup r3' ' ' test_expect_success 'verify sparse:path=pattern1 omits top-level files' ' - git -C r3 ls-files -s sparse1 sparse2 \ - | awk -f print_2.awk \ - | sort >expected && - git -C r3 rev-list HEAD --quiet --objects --filter-print-omitted --filter=sparse:path=../pattern1 \ - | awk -f print_1.awk \ - | sed "s/~//" \ - | sort >observed && + git -C r3 ls-files -s sparse1 sparse2 | + awk -f print_2.awk | + sort >expected && + + git -C r3 rev-list HEAD --quiet --objects --filter-print-omitted --filter=sparse:path=../pattern1 | + awk -f print_1.awk | + sed "s/~//" | + sort >observed && + test_cmp observed expected ' test_expect_success 'verify sparse:path=pattern2 omits both sparse2 files' ' - git -C r3 ls-files -s sparse2 dir1/sparse2 \ - | awk -f print_2.awk \ - | sort >expected && - git -C r3 rev-list HEAD --quiet --objects --filter-print-omitted --filter=sparse:path=../pattern2 \ - | awk -f print_1.awk \ - | sed "s/~//" \ - | sort >observed && + git -C r3 ls-files -s sparse2 dir1/sparse2 | + awk -f print_2.awk | + sort >expected && + + git -C r3 rev-list HEAD --quiet --objects --filter-print-omitted --filter=sparse:path=../pattern2 | + awk -f print_1.awk | + sed "s/~//" | + sort >observed && + test_cmp observed expected ' @@ -173,25 +192,30 @@ test_expect_success 'setup r3 part 2' ' ' test_expect_success 'verify sparse:oid=OID omits top-level files' ' - git -C r3 ls-files -s pattern sparse1 sparse2 \ - | awk -f print_2.awk \ - | sort >expected && + git -C r3 ls-files -s pattern sparse1 sparse2 | + awk -f print_2.awk | + sort >expected && + oid=$(git -C r3 ls-files -s pattern | awk -f print_2.awk) && - git -C r3 rev-list HEAD --quiet --objects --filter-print-omitted --filter=sparse:oid=$oid \ - | awk -f print_1.awk \ - | sed "s/~//" \ - | sort >observed && + + git -C r3 rev-list HEAD --quiet --objects --filter-print-omitted --filter=sparse:oid=$oid | + awk -f print_1.awk | + sed "s/~//" | + sort >observed && + test_cmp observed expected ' test_expect_success 'verify sparse:oid=oid-ish omits top-level files' ' - git -C r3 ls-files -s pattern sparse1 sparse2 \ - | awk -f print_2.awk \ - | sort >expected && - git -C r3 rev-list HEAD --quiet --objects --filter-print-omitted --filter=sparse:oid=master:pattern \ - | awk -f print_1.awk \ - | sed "s/~//" \ - | sort >observed && + git -C r3 ls-files -s pattern sparse1 sparse2 | + awk -f print_2.awk | + sort >expected && + + git -C r3 rev-list HEAD --quiet --objects --filter-print-omitted --filter=sparse:oid=master:pattern | + awk -f print_1.awk | + sed "s/~//" | + sort >observed && + test_cmp observed expected ' @@ -199,17 +223,20 @@ test_expect_success 'verify sparse:oid=oid-ish omits top-level files' ' # This models previously omitted objects that we did not receive. test_expect_success 'rev-list W/ --missing=print' ' - git -C r1 ls-files -s file.1 file.2 file.3 file.4 file.5 \ - | awk -f print_2.awk \ - | sort >expected && + git -C r1 ls-files -s file.1 file.2 file.3 file.4 file.5 | + awk -f print_2.awk | + sort >expected && + for id in `cat expected | sed "s|..|&/|"` do rm r1/.git/objects/$id done && - git -C r1 rev-list --quiet HEAD --missing=print --objects \ - | awk -f print_1.awk \ - | sed "s/?//" \ - | sort >observed && + + git -C r1 rev-list --quiet HEAD --missing=print --objects | + awk -f print_1.awk | + sed "s/?//" | + sort >observed && + test_cmp observed expected ' From patchwork Fri Sep 21 01:43:29 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew DeVore X-Patchwork-Id: 10608909 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 5CD4E112B for ; Fri, 21 Sep 2018 01:44:01 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 54ADC2DFF0 for ; Fri, 21 Sep 2018 01:44:01 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 48A282E00B; Fri, 21 Sep 2018 01:44:01 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.5 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,LOTS_OF_MONEY,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI, USER_IN_DEF_DKIM_WL autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2C2432DFF0 for ; Fri, 21 Sep 2018 01:43:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388967AbeIUHaV (ORCPT ); Fri, 21 Sep 2018 03:30:21 -0400 Received: from mail-ua1-f74.google.com ([209.85.222.74]:39144 "EHLO mail-ua1-f74.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725947AbeIUHaV (ORCPT ); Fri, 21 Sep 2018 03:30:21 -0400 Received: by mail-ua1-f74.google.com with SMTP id t14-v6so2744359uao.6 for ; Thu, 20 Sep 2018 18:43:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:in-reply-to:message-id:mime-version:references:subject:from:to :cc; bh=cHqDR2sfFtKuY1cl6RdI5JMhpYBgI3hu+wuG3dvJxec=; b=BsfE4cfV9vrJVYVW1CV//59KENiRTuoLiTK03qEDpYtoOogx8OG5mHgZnQp0vBy3fF 9fkVwW1oaARB5OKuuuk8fbpxPAIzxXMBuLjgF81/A2iFHTYjsr/9FImTNNhRe2VhI4Pa 04FRSZUbrAQtglQVSjEbOEtS/9BC8vvwWk/dSiuTCDJ2ja9IyACQLnUPWRTfGD7/9Q42 iKcRLW8yEtxlTrKJuXeEfQLFSPD+oMq4N1NB2odtCDkz/ImStCLg+Y6Ss4kjZxCMTP0Y Opi0Ns4ZEfLzHMuTWp39q/3BuuYO6iH0qRBPXpMe/lgzf6EXdt+W7Xcv6G91Uvbi/uaU 4S4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc; bh=cHqDR2sfFtKuY1cl6RdI5JMhpYBgI3hu+wuG3dvJxec=; b=Xv5ci1KaJ4iROqOwXEbOUQqG7/7G5+wGs80O1lnlpLd3ss6PAST8gAaoa1lYoWLQls Hs0MnOwF28715UbdvmeWWwb/C/WdzkZB58FpBs4NUtFLK329JS4colTUw4fyzdiidNuO Q0OgkcKBt8mIi39q9iHqLPjaFVwWKHw8PcMr3CdSYXTxcZNfNChvVO5QTSQ0OQJsyjvN FezrZKEIorJxl5VMuvYx7ahIyPFKNHehIsxK02MRVbR0aiKyPHbPtnTLnNPlUCHq1Yvw n5S2vBuHk8CjzqYMY8bYmCRvRWf0Mgy9lnIOmTJFnawRV84ylGZ3zXzmNwQT+fj+yVuk F1vg== X-Gm-Message-State: APzg51DuxWLLrahUa3JEPjRvV080pSiXmphOQoMDDB34Z3dMxiv2zqbL iqyrLvDIeVnO4TG9e6GebZETZrTK8L7SAeqV0SA25UAY9dQR1p3NkFC7f9uqDjf2a14f5pmwvf/ 0z9ikdlzRi/nRj3YEPB7c0y/Jvqd6LmpQpXaDBI/TPyhh+tWhj7cvonzh1lo= X-Google-Smtp-Source: ANB0VdYnyz8Iac9FS8K6mXkC/8B66Vz1pSJOICSSUJPB5FWw/zco4giAx7aUdPPYMkAmps3oSoceKSyY7xuk X-Received: by 2002:a9f:3766:: with SMTP id a35-v6mr7441824uae.19.1537494235610; Thu, 20 Sep 2018 18:43:55 -0700 (PDT) Date: Thu, 20 Sep 2018 18:43:29 -0700 In-Reply-To: Message-Id: Mime-Version: 1.0 References: X-Mailer: git-send-email 2.19.0.444.g18242da7ef-goog Subject: [PATCH v3 3/5] t/*: fix ordering of expected/observed arguments From: Matthew DeVore To: git@vger.kernel.org Cc: Matthew DeVore , peff@peff.net, jonathantanmy@google.com, gitster@pobox.com, jrn@google.com, sunshine@sunshineco.com Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Fix various places where the ordering was obviously wrong, meaning it was easy to find with grep. Signed-off-by: Matthew DeVore --- t/t0000-basic.sh | 2 +- t/t0021-conversion.sh | 4 +-- t/t1300-config.sh | 4 +-- t/t1303-wacky-config.sh | 4 +-- t/t2101-update-index-reupdate.sh | 2 +- t/t3200-branch.sh | 2 +- t/t3320-notes-merge-worktrees.sh | 4 +-- t/t3400-rebase.sh | 8 +++--- t/t3417-rebase-whitespace-fix.sh | 6 ++--- t/t3702-add-edit.sh | 4 +-- t/t3903-stash.sh | 8 +++--- t/t3905-stash-include-untracked.sh | 2 +- t/t4025-hunk-header.sh | 2 +- t/t4117-apply-reject.sh | 6 ++--- t/t4124-apply-ws-rule.sh | 30 +++++++++++------------ t/t4138-apply-ws-expansion.sh | 2 +- t/t5317-pack-objects-filter-objects.sh | 34 +++++++++++++------------- t/t5318-commit-graph.sh | 2 +- t/t5701-git-serve.sh | 14 +++++------ t/t5702-protocol-v2.sh | 10 ++++---- t/t6023-merge-file.sh | 12 ++++----- t/t6027-merge-binary.sh | 4 +-- t/t6031-merge-filemode.sh | 2 +- t/t6112-rev-list-filters-objects.sh | 24 +++++++++--------- t/t7201-co.sh | 4 +-- t/t7406-submodule-update.sh | 8 +++--- t/t7800-difftool.sh | 2 +- t/t9100-git-svn-basic.sh | 2 +- t/t9133-git-svn-nested-git-repo.sh | 6 ++--- t/t9600-cvsimport.sh | 2 +- t/t9603-cvsimport-patchsets.sh | 4 +-- t/t9604-cvsimport-timestamps.sh | 4 +-- 32 files changed, 112 insertions(+), 112 deletions(-) diff --git a/t/t0000-basic.sh b/t/t0000-basic.sh index 850f651e4..224c098a8 100755 --- a/t/t0000-basic.sh +++ b/t/t0000-basic.sh @@ -1018,7 +1018,7 @@ test_expect_success SHA1 'validate git diff-files output for a know cache/work t :120000 120000 6649a1ebe9e9f1c553b66f5a6e74136a07ccc57c 0000000000000000000000000000000000000000 M path3/subp3/file3sym EOF git diff-files >current && - test_cmp current expected + test_cmp expected current ' test_expect_success 'git update-index --refresh should succeed' ' diff --git a/t/t0021-conversion.sh b/t/t0021-conversion.sh index 308cd28f3..fd5f1ac64 100755 --- a/t/t0021-conversion.sh +++ b/t/t0021-conversion.sh @@ -166,10 +166,10 @@ test_expect_success expanded_in_repo ' rm -f expanded-keywords expanded-keywords-crlf && git checkout -- expanded-keywords && - test_cmp expanded-keywords expected-output && + test_cmp expected-output expanded-keywords && git checkout -- expanded-keywords-crlf && - test_cmp expanded-keywords-crlf expected-output-crlf + test_cmp expected-output-crlf expanded-keywords-crlf ' # The use of %f in a filter definition is expanded to the path to diff --git a/t/t1300-config.sh b/t/t1300-config.sh index 5869d6cb6..e2cd50ecf 100755 --- a/t/t1300-config.sh +++ b/t/t1300-config.sh @@ -1001,7 +1001,7 @@ EOF test_expect_success 'value continued on next line' ' git config --list > result && - test_cmp result expect + test_cmp expect result ' cat > .git/config <<\EOF @@ -1882,7 +1882,7 @@ test_expect_success '--replace-all does not invent newlines' ' Qkey = b EOF git config --replace-all abc.key b && - test_cmp .git/config expect + test_cmp expect .git/config ' test_done diff --git a/t/t1303-wacky-config.sh b/t/t1303-wacky-config.sh index 3b92083e1..0000e664e 100755 --- a/t/t1303-wacky-config.sh +++ b/t/t1303-wacky-config.sh @@ -14,7 +14,7 @@ setup() { check() { echo "$2" >expected git config --get "$1" >actual 2>&1 - test_cmp actual expected + test_cmp expected actual } # 'check section.key regex value' verifies that the entry for @@ -22,7 +22,7 @@ check() { check_regex() { echo "$3" >expected git config --get "$1" "$2" >actual 2>&1 - test_cmp actual expected + test_cmp expected actual } test_expect_success 'modify same key' ' diff --git a/t/t2101-update-index-reupdate.sh b/t/t2101-update-index-reupdate.sh index 685ec4563..6c32d42c8 100755 --- a/t/t2101-update-index-reupdate.sh +++ b/t/t2101-update-index-reupdate.sh @@ -73,7 +73,7 @@ test_expect_success 'update-index --update from subdir' ' 100644 $(git hash-object dir1/file3) 0 dir1/file3 100644 $file2 0 file2 EOF - test_cmp current expected + test_cmp expected current ' test_expect_success 'update-index --update with pathspec' ' diff --git a/t/t3200-branch.sh b/t/t3200-branch.sh index 93f21ab07..478b82cf9 100755 --- a/t/t3200-branch.sh +++ b/t/t3200-branch.sh @@ -1221,7 +1221,7 @@ test_expect_success 'use --edit-description' ' EOF EDITOR=./editor git branch --edit-description && echo "New contents" >expect && - test_cmp EDITOR_OUTPUT expect + test_cmp expect EDITOR_OUTPUT ' test_expect_success 'detect typo in branch name when using --edit-description' ' diff --git a/t/t3320-notes-merge-worktrees.sh b/t/t3320-notes-merge-worktrees.sh index 10bfc8b94..823fdbda1 100755 --- a/t/t3320-notes-merge-worktrees.sh +++ b/t/t3320-notes-merge-worktrees.sh @@ -44,7 +44,7 @@ test_expect_success 'merge z into y fails and sets NOTES_MERGE_REF' ' git config core.notesRef refs/notes/y && test_must_fail git notes merge z && echo "ref: refs/notes/y" >expect && - test_cmp .git/NOTES_MERGE_REF expect + test_cmp expect .git/NOTES_MERGE_REF ' test_expect_success 'merge z into y while mid-merge in another workdir fails' ' @@ -66,7 +66,7 @@ test_expect_success 'merge z into x while mid-merge on y succeeds' ' grep -v "A notes merge into refs/notes/x is already in-progress in" out ) && echo "ref: refs/notes/x" >expect && - test_cmp .git/worktrees/worktree2/NOTES_MERGE_REF expect + test_cmp expect .git/worktrees/worktree2/NOTES_MERGE_REF ' test_done diff --git a/t/t3400-rebase.sh b/t/t3400-rebase.sh index 3996ee013..3e73f7584 100755 --- a/t/t3400-rebase.sh +++ b/t/t3400-rebase.sh @@ -183,13 +183,13 @@ test_expect_success 'cherry-picked commits and fork-point work together' ' test_commit final_B B "Final B" && git rebase && echo Amended >expect && - test_cmp A expect && + test_cmp expect A && echo "Final B" >expect && - test_cmp B expect && + test_cmp expect B && echo C >expect && - test_cmp C expect && + test_cmp expect C && echo D >expect && - test_cmp D expect + test_cmp expect D ' test_expect_success 'rebase -q is quiet' ' diff --git a/t/t3417-rebase-whitespace-fix.sh b/t/t3417-rebase-whitespace-fix.sh index 1fb3e499b..e85cdc703 100755 --- a/t/t3417-rebase-whitespace-fix.sh +++ b/t/t3417-rebase-whitespace-fix.sh @@ -55,7 +55,7 @@ test_expect_success 'blank line at end of file; extend at end of file' ' git add file && git commit -m second && git rebase --whitespace=fix HEAD^^ && git diff --exit-code HEAD^:file expect-first && - test_cmp file expect-second + test_cmp expect-second file ' # prepare third revision of "file" @@ -82,7 +82,7 @@ test_expect_success 'two blanks line at end of file; extend at end of file' ' cp third file && git add file && git commit -m third && git rebase --whitespace=fix HEAD^^ && git diff --exit-code HEAD^:file expect-second && - test_cmp file expect-third + test_cmp expect-third file ' test_expect_success 'same, but do not remove trailing spaces' ' @@ -120,7 +120,7 @@ test_expect_success 'at beginning of file' ' done >> file && git commit -m more file && git rebase --whitespace=fix HEAD^^ && - test_cmp file expect-beginning + test_cmp expect-beginning file ' test_done diff --git a/t/t3702-add-edit.sh b/t/t3702-add-edit.sh index c6af7f82b..6c676645d 100755 --- a/t/t3702-add-edit.sh +++ b/t/t3702-add-edit.sh @@ -110,10 +110,10 @@ test_expect_success 'add -e' ' cp second-part file && git add -e && test_cmp second-part file && - test_cmp orig-patch expected-patch && + test_cmp expected-patch orig-patch && git diff --cached >actual && grep -v index actual >out && - test_cmp out expected + test_cmp expected out ' diff --git a/t/t3903-stash.sh b/t/t3903-stash.sh index 6450bc669..cd216655b 100755 --- a/t/t3903-stash.sh +++ b/t/t3903-stash.sh @@ -36,7 +36,7 @@ EOF test_expect_success 'parents of stash' ' test $(git rev-parse stash^) = $(git rev-parse HEAD) && git diff stash^2..stash > output && - test_cmp output expect + test_cmp expect output ' test_expect_success 'applying bogus stash does nothing' ' @@ -210,9 +210,9 @@ test_expect_success 'stash branch' ' test refs/heads/stashbranch = $(git symbolic-ref HEAD) && test $(git rev-parse HEAD) = $(git rev-parse master^) && git diff --cached > output && - test_cmp output expect && + test_cmp expect output && git diff > output && - test_cmp output expect1 && + test_cmp expect1 output && git add file && git commit -m alternate\ second && git diff master..stashbranch > output && @@ -710,7 +710,7 @@ test_expect_success 'stash where working directory contains "HEAD" file' ' git diff-index --cached --quiet HEAD && test "$(git rev-parse stash^)" = "$(git rev-parse HEAD)" && git diff stash^..stash > output && - test_cmp output expect + test_cmp expect output ' test_expect_success 'store called with invalid commit' ' diff --git a/t/t3905-stash-include-untracked.sh b/t/t3905-stash-include-untracked.sh index 597b0637d..cc1c8a7bb 100755 --- a/t/t3905-stash-include-untracked.sh +++ b/t/t3905-stash-include-untracked.sh @@ -142,7 +142,7 @@ test_expect_success 'stash save --include-untracked removed files' ' rm -f file && git stash save --include-untracked && echo 1 > expect && - test_cmp file expect + test_cmp expect file ' rm -f expect diff --git a/t/t4025-hunk-header.sh b/t/t4025-hunk-header.sh index fa44e7886..35578f2bb 100755 --- a/t/t4025-hunk-header.sh +++ b/t/t4025-hunk-header.sh @@ -37,7 +37,7 @@ test_expect_success 'hunk header truncation with an overly long line' ' echo " A $N$N$N$N$N$N$N$N$N2" && echo " L $N$N$N$N$N$N$N$N$N1" ) >expected && - test_cmp actual expected + test_cmp expected actual ' diff --git a/t/t4117-apply-reject.sh b/t/t4117-apply-reject.sh index d80187de9..f7de6f077 100755 --- a/t/t4117-apply-reject.sh +++ b/t/t4117-apply-reject.sh @@ -72,7 +72,7 @@ test_expect_success 'apply with --reject should fail but update the file' ' rm -f file1.rej file2.rej && test_must_fail git apply --reject patch.1 && - test_cmp file1 expected && + test_cmp expected file1 && cat file1.rej && test_path_is_missing file2.rej @@ -85,7 +85,7 @@ test_expect_success 'apply with --reject should fail but update the file' ' test_must_fail git apply --reject patch.2 >rejects && test_path_is_missing file1 && - test_cmp file2 expected && + test_cmp expected file2 && cat file2.rej && test_path_is_missing file1.rej @@ -99,7 +99,7 @@ test_expect_success 'the same test with --verbose' ' test_must_fail git apply --reject --verbose patch.2 >rejects && test_path_is_missing file1 && - test_cmp file2 expected && + test_cmp expected file2 && cat file2.rej && test_path_is_missing file1.rej diff --git a/t/t4124-apply-ws-rule.sh b/t/t4124-apply-ws-rule.sh index 7e32237a2..ff51e9e78 100755 --- a/t/t4124-apply-ws-rule.sh +++ b/t/t4124-apply-ws-rule.sh @@ -313,9 +313,9 @@ test_expect_success 'applying beyond EOF requires one non-blank context line' ' { echo a; echo; } >one && cp one expect && test_must_fail git apply --whitespace=fix patch && - test_cmp one expect && + test_cmp expect one && test_must_fail git apply --ignore-space-change --whitespace=fix patch && - test_cmp one expect + test_cmp expect one ' test_expect_success 'tons of blanks at EOF should not apply' ' @@ -342,10 +342,10 @@ test_expect_success 'missing blank line at end with --whitespace=fix' ' cp one saved-one && test_must_fail git apply patch && git apply --whitespace=fix patch && - test_cmp one expect && + test_cmp expect one && mv saved-one one && git apply --ignore-space-change --whitespace=fix patch && - test_cmp one expect + test_cmp expect one ' test_expect_success 'two missing blank lines at end with --whitespace=fix' ' @@ -360,11 +360,11 @@ test_expect_success 'two missing blank lines at end with --whitespace=fix' ' cp no-blank-lines one && test_must_fail git apply patch && git apply --whitespace=fix patch && - test_cmp one expect && + test_cmp expect one && mv no-blank-lines one && test_must_fail git apply patch && git apply --ignore-space-change --whitespace=fix patch && - test_cmp one expect + test_cmp expect one ' test_expect_success 'missing blank line at end, insert before end, --whitespace=fix' ' @@ -376,7 +376,7 @@ test_expect_success 'missing blank line at end, insert before end, --whitespace= echo a >one && test_must_fail git apply patch && git apply --whitespace=fix patch && - test_cmp one expect + test_cmp expect one ' test_expect_success 'shrink file with tons of missing blanks at end of file' ' @@ -392,10 +392,10 @@ test_expect_success 'shrink file with tons of missing blanks at end of file' ' cp no-blank-lines one && test_must_fail git apply patch && git apply --whitespace=fix patch && - test_cmp one expect && + test_cmp expect one && mv no-blank-lines one && git apply --ignore-space-change --whitespace=fix patch && - test_cmp one expect + test_cmp expect one ' test_expect_success 'missing blanks at EOF must only match blank lines' ' @@ -427,7 +427,7 @@ test_expect_success 'missing blank line should match context line with spaces' ' git add one && git apply --whitespace=fix patch && - test_cmp one expect + test_cmp expect one ' sed -e's/Z//' >one <.gitattributes && git apply patch && - test_cmp one expect + test_cmp expect one ' test_expect_success 'CR-LF line endings && change line && text=auto' ' @@ -491,7 +491,7 @@ test_expect_success 'CR-LF line endings && change line && text=auto' ' mv save-one one && echo "one text=auto" >.gitattributes && git apply patch && - test_cmp one expect + test_cmp expect one ' test_expect_success 'LF in repo, CRLF in worktree && change line && text=auto' ' @@ -503,7 +503,7 @@ test_expect_success 'LF in repo, CRLF in worktree && change line && text=auto' ' echo "one text=auto" >.gitattributes && git -c core.eol=CRLF apply patch && printf "b\r\n" >expect && - test_cmp one expect + test_cmp expect one ' test_expect_success 'whitespace=fix to expand' ' diff --git a/t/t4138-apply-ws-expansion.sh b/t/t4138-apply-ws-expansion.sh index 0ffe33fbe..3b636a63a 100755 --- a/t/t4138-apply-ws-expansion.sh +++ b/t/t4138-apply-ws-expansion.sh @@ -114,7 +114,7 @@ for t in 1 2 3 4 do test_expect_success 'apply with ws expansion (t=$t)' ' git apply patch$t.patch && - test_cmp test-$t expect-$t + test_cmp expect-$t test-$t ' done diff --git a/t/t5317-pack-objects-filter-objects.sh b/t/t5317-pack-objects-filter-objects.sh index ce69148ec..c093eb891 100755 --- a/t/t5317-pack-objects-filter-objects.sh +++ b/t/t5317-pack-objects-filter-objects.sh @@ -34,7 +34,7 @@ test_expect_success 'verify blob count in normal packfile' ' awk -f print_1.awk | sort >observed && - test_cmp observed expected + test_cmp expected observed ' test_expect_success 'verify blob:none packfile has no blobs' ' @@ -63,7 +63,7 @@ test_expect_success 'verify normal and blob:none packfiles have same commits/tre awk -f print_1.awk | sort >observed && - test_cmp observed expected + test_cmp expected observed ' # Test blob:limit=[kmg] filter. @@ -96,7 +96,7 @@ test_expect_success 'verify blob count in normal packfile' ' awk -f print_1.awk | sort >observed && - test_cmp observed expected + test_cmp expected observed ' test_expect_success 'verify blob:limit=500 omits all blobs' ' @@ -144,7 +144,7 @@ test_expect_success 'verify blob:limit=1001' ' awk -f print_1.awk | sort >observed && - test_cmp observed expected + test_cmp expected observed ' test_expect_success 'verify blob:limit=10001' ' @@ -162,7 +162,7 @@ test_expect_success 'verify blob:limit=10001' ' awk -f print_1.awk | sort >observed && - test_cmp observed expected + test_cmp expected observed ' test_expect_success 'verify blob:limit=1k' ' @@ -180,7 +180,7 @@ test_expect_success 'verify blob:limit=1k' ' awk -f print_1.awk | sort >observed && - test_cmp observed expected + test_cmp expected observed ' test_expect_success 'verify explicitly specifying oversized blob in input' ' @@ -199,7 +199,7 @@ test_expect_success 'verify explicitly specifying oversized blob in input' ' awk -f print_1.awk | sort >observed && - test_cmp observed expected + test_cmp expected observed ' test_expect_success 'verify blob:limit=1m' ' @@ -217,7 +217,7 @@ test_expect_success 'verify blob:limit=1m' ' awk -f print_1.awk | sort >observed && - test_cmp observed expected + test_cmp expected observed ' test_expect_success 'verify normal and blob:limit packfiles have same commits/trees' ' @@ -231,7 +231,7 @@ test_expect_success 'verify normal and blob:limit packfiles have same commits/tr awk -f print_1.awk | sort >observed && - test_cmp observed expected + test_cmp expected observed ' # Test sparse:path= filter. @@ -269,7 +269,7 @@ test_expect_success 'verify blob count in normal packfile' ' awk -f print_1.awk | sort >observed && - test_cmp observed expected + test_cmp expected observed ' test_expect_success 'verify sparse:path=pattern1' ' @@ -287,7 +287,7 @@ test_expect_success 'verify sparse:path=pattern1' ' awk -f print_1.awk | sort >observed && - test_cmp observed expected + test_cmp expected observed ' test_expect_success 'verify normal and sparse:path=pattern1 packfiles have same commits/trees' ' @@ -301,7 +301,7 @@ test_expect_success 'verify normal and sparse:path=pattern1 packfiles have same awk -f print_1.awk | sort >observed && - test_cmp observed expected + test_cmp expected observed ' test_expect_success 'verify sparse:path=pattern2' ' @@ -319,7 +319,7 @@ test_expect_success 'verify sparse:path=pattern2' ' awk -f print_1.awk | sort >observed && - test_cmp observed expected + test_cmp expected observed ' test_expect_success 'verify normal and sparse:path=pattern2 packfiles have same commits/trees' ' @@ -333,7 +333,7 @@ test_expect_success 'verify normal and sparse:path=pattern2 packfiles have same awk -f print_1.awk | sort >observed && - test_cmp observed expected + test_cmp expected observed ' # Test sparse:oid= filter. @@ -370,7 +370,7 @@ test_expect_success 'verify blob count in normal packfile' ' awk -f print_1.awk | sort >observed && - test_cmp observed expected + test_cmp expected observed ' test_expect_success 'verify sparse:oid=OID' ' @@ -389,7 +389,7 @@ test_expect_success 'verify sparse:oid=OID' ' awk -f print_1.awk | sort >observed && - test_cmp observed expected + test_cmp expected observed ' test_expect_success 'verify sparse:oid=oid-ish' ' @@ -407,7 +407,7 @@ test_expect_success 'verify sparse:oid=oid-ish' ' awk -f print_1.awk | sort >observed && - test_cmp observed expected + test_cmp expected observed ' # Delete some loose objects and use pack-objects, but WITHOUT any filtering. diff --git a/t/t5318-commit-graph.sh b/t/t5318-commit-graph.sh index 0c500f7ca..d6da3ce4e 100755 --- a/t/t5318-commit-graph.sh +++ b/t/t5318-commit-graph.sh @@ -35,7 +35,7 @@ test_expect_success 'create commits and repack' ' graph_git_two_modes() { git -c core.commitGraph=true $1 >output git -c core.commitGraph=false $1 >expect - test_cmp output expect + test_cmp expect output } graph_git_behavior() { diff --git a/t/t5701-git-serve.sh b/t/t5701-git-serve.sh index 75ec79e6c..bf139e245 100755 --- a/t/t5701-git-serve.sh +++ b/t/t5701-git-serve.sh @@ -16,7 +16,7 @@ test_expect_success 'test capability advertisement' ' git serve --advertise-capabilities >out && test-pkt-line unpack actual && - test_cmp actual expect + test_cmp expect actual ' test_expect_success 'stateless-rpc flag does not list capabilities' ' @@ -89,7 +89,7 @@ test_expect_success 'basics of ls-refs' ' git serve --stateless-rpc out && test-pkt-line unpack actual && - test_cmp actual expect + test_cmp expect actual ' test_expect_success 'basic ref-prefixes' ' @@ -109,7 +109,7 @@ test_expect_success 'basic ref-prefixes' ' git serve --stateless-rpc out && test-pkt-line unpack actual && - test_cmp actual expect + test_cmp expect actual ' test_expect_success 'refs/heads prefix' ' @@ -129,7 +129,7 @@ test_expect_success 'refs/heads prefix' ' git serve --stateless-rpc out && test-pkt-line unpack actual && - test_cmp actual expect + test_cmp expect actual ' test_expect_success 'peel parameter' ' @@ -150,7 +150,7 @@ test_expect_success 'peel parameter' ' git serve --stateless-rpc out && test-pkt-line unpack actual && - test_cmp actual expect + test_cmp expect actual ' test_expect_success 'symrefs parameter' ' @@ -171,7 +171,7 @@ test_expect_success 'symrefs parameter' ' git serve --stateless-rpc out && test-pkt-line unpack actual && - test_cmp actual expect + test_cmp expect actual ' test_expect_success 'sending server-options' ' @@ -191,7 +191,7 @@ test_expect_success 'sending server-options' ' git serve --stateless-rpc out && test-pkt-line unpack actual && - test_cmp actual expect + test_cmp expect actual ' test_expect_success 'unexpected lines are not allowed in fetch request' ' diff --git a/t/t5702-protocol-v2.sh b/t/t5702-protocol-v2.sh index 3beeed454..54727450b 100755 --- a/t/t5702-protocol-v2.sh +++ b/t/t5702-protocol-v2.sh @@ -29,7 +29,7 @@ test_expect_success 'list refs with git:// using protocol v2' ' grep "git< version 2" log && git ls-remote --symref "$GIT_DAEMON_URL/parent" >expect && - test_cmp actual expect + test_cmp expect actual ' test_expect_success 'ref advertisment is filtered with ls-remote using protocol v2' ' @@ -42,7 +42,7 @@ test_expect_success 'ref advertisment is filtered with ls-remote using protocol $(git -C "$daemon_parent" rev-parse refs/heads/master)$(printf "\t")refs/heads/master EOF - test_cmp actual expect + test_cmp expect actual ' test_expect_success 'clone with git:// using protocol v2' ' @@ -138,7 +138,7 @@ test_expect_success 'list refs with file:// using protocol v2' ' grep "git< version 2" log && git ls-remote --symref "file://$(pwd)/file_parent" >expect && - test_cmp actual expect + test_cmp expect actual ' test_expect_success 'ref advertisment is filtered with ls-remote using protocol v2' ' @@ -151,7 +151,7 @@ test_expect_success 'ref advertisment is filtered with ls-remote using protocol $(git -C file_parent rev-parse refs/heads/master)$(printf "\t")refs/heads/master EOF - test_cmp actual expect + test_cmp expect actual ' test_expect_success 'server-options are sent when using ls-remote' ' @@ -164,7 +164,7 @@ test_expect_success 'server-options are sent when using ls-remote' ' $(git -C file_parent rev-parse refs/heads/master)$(printf "\t")refs/heads/master EOF - test_cmp actual expect && + test_cmp expect actual && grep "server-option=hello" log && grep "server-option=world" log ' diff --git a/t/t6023-merge-file.sh b/t/t6023-merge-file.sh index 20aee43f9..51ee887a7 100755 --- a/t/t6023-merge-file.sh +++ b/t/t6023-merge-file.sh @@ -99,7 +99,7 @@ EOF printf "propter nomen suum." >> expect.txt test_expect_success "merge does not add LF away of change" \ - "test_cmp test3.txt expect.txt" + "test_cmp expect.txt test3.txt" cp test.txt backup.txt test_expect_success "merge with conflicts" \ @@ -122,7 +122,7 @@ non timebo mala, quoniam tu mecum es: virga tua et baculus tuus ipsa me consolata sunt. EOF -test_expect_success "expected conflict markers" "test_cmp test.txt expect.txt" +test_expect_success "expected conflict markers" "test_cmp expect.txt test.txt" cp backup.txt test.txt @@ -138,7 +138,7 @@ non timebo mala, quoniam tu mecum es: virga tua et baculus tuus ipsa me consolata sunt. EOF test_expect_success "merge conflicting with --ours" \ - "git merge-file --ours test.txt orig.txt new3.txt && test_cmp test.txt expect.txt" + "git merge-file --ours test.txt orig.txt new3.txt && test_cmp expect.txt test.txt" cp backup.txt test.txt cat > expect.txt << EOF @@ -154,7 +154,7 @@ non timebo mala, quoniam tu mecum es: virga tua et baculus tuus ipsa me consolata sunt. EOF test_expect_success "merge conflicting with --theirs" \ - "git merge-file --theirs test.txt orig.txt new3.txt && test_cmp test.txt expect.txt" + "git merge-file --theirs test.txt orig.txt new3.txt && test_cmp expect.txt test.txt" cp backup.txt test.txt cat > expect.txt << EOF @@ -171,7 +171,7 @@ non timebo mala, quoniam tu mecum es: virga tua et baculus tuus ipsa me consolata sunt. EOF test_expect_success "merge conflicting with --union" \ - "git merge-file --union test.txt orig.txt new3.txt && test_cmp test.txt expect.txt" + "git merge-file --union test.txt orig.txt new3.txt && test_cmp expect.txt test.txt" cp backup.txt test.txt test_expect_success "merge with conflicts, using -L" \ @@ -195,7 +195,7 @@ virga tua et baculus tuus ipsa me consolata sunt. EOF test_expect_success "expected conflict markers, with -L" \ - "test_cmp test.txt expect.txt" + "test_cmp expect.txt test.txt" sed "s/ tu / TU /" < new1.txt > new5.txt test_expect_success "conflict in removed tail" \ diff --git a/t/t6027-merge-binary.sh b/t/t6027-merge-binary.sh index 07735410b..4e6c7cb77 100755 --- a/t/t6027-merge-binary.sh +++ b/t/t6027-merge-binary.sh @@ -45,7 +45,7 @@ test_expect_success resolve ' false else git ls-files -s >current - test_cmp current expect + test_cmp expect current fi ' @@ -60,7 +60,7 @@ test_expect_success recursive ' false else git ls-files -s >current - test_cmp current expect + test_cmp expect current fi ' diff --git a/t/t6031-merge-filemode.sh b/t/t6031-merge-filemode.sh index 7d06461f1..87741efad 100755 --- a/t/t6031-merge-filemode.sh +++ b/t/t6031-merge-filemode.sh @@ -61,7 +61,7 @@ do_both_modes () { git checkout -f a2 && test_must_fail git merge -s $strategy b2 && git ls-files -u >actual && - test_cmp actual expect && + test_cmp expect actual && git ls-files -s file2 | grep ^100755 ' diff --git a/t/t6112-rev-list-filters-objects.sh b/t/t6112-rev-list-filters-objects.sh index 0f6b569e1..ae4402226 100755 --- a/t/t6112-rev-list-filters-objects.sh +++ b/t/t6112-rev-list-filters-objects.sh @@ -29,7 +29,7 @@ test_expect_success 'verify blob:none omits all 5 blobs' ' sed "s/~//" | sort >observed && - test_cmp observed expected + test_cmp expected observed ' test_expect_success 'verify emitted+omitted == all' ' @@ -42,7 +42,7 @@ test_expect_success 'verify emitted+omitted == all' ' sed "s/~//" | sort >observed && - test_cmp observed expected + test_cmp expected observed ' @@ -71,7 +71,7 @@ test_expect_success 'verify blob:limit=500 omits all blobs' ' sed "s/~//" | sort >observed && - test_cmp observed expected + test_cmp expected observed ' test_expect_success 'verify emitted+omitted == all' ' @@ -84,7 +84,7 @@ test_expect_success 'verify emitted+omitted == all' ' sed "s/~//" | sort >observed && - test_cmp observed expected + test_cmp expected observed ' test_expect_success 'verify blob:limit=1000' ' @@ -97,7 +97,7 @@ test_expect_success 'verify blob:limit=1000' ' sed "s/~//" | sort >observed && - test_cmp observed expected + test_cmp expected observed ' test_expect_success 'verify blob:limit=1001' ' @@ -110,7 +110,7 @@ test_expect_success 'verify blob:limit=1001' ' sed "s/~//" | sort >observed && - test_cmp observed expected + test_cmp expected observed ' test_expect_success 'verify blob:limit=1k' ' @@ -123,7 +123,7 @@ test_expect_success 'verify blob:limit=1k' ' sed "s/~//" | sort >observed && - test_cmp observed expected + test_cmp expected observed ' test_expect_success 'verify blob:limit=1m' ' @@ -165,7 +165,7 @@ test_expect_success 'verify sparse:path=pattern1 omits top-level files' ' sed "s/~//" | sort >observed && - test_cmp observed expected + test_cmp expected observed ' test_expect_success 'verify sparse:path=pattern2 omits both sparse2 files' ' @@ -178,7 +178,7 @@ test_expect_success 'verify sparse:path=pattern2 omits both sparse2 files' ' sed "s/~//" | sort >observed && - test_cmp observed expected + test_cmp expected observed ' # Test sparse:oid= filter. @@ -203,7 +203,7 @@ test_expect_success 'verify sparse:oid=OID omits top-level files' ' sed "s/~//" | sort >observed && - test_cmp observed expected + test_cmp expected observed ' test_expect_success 'verify sparse:oid=oid-ish omits top-level files' ' @@ -216,7 +216,7 @@ test_expect_success 'verify sparse:oid=oid-ish omits top-level files' ' sed "s/~//" | sort >observed && - test_cmp observed expected + test_cmp expected observed ' # Delete some loose objects and use rev-list, but WITHOUT any filtering. @@ -237,7 +237,7 @@ test_expect_success 'rev-list W/ --missing=print' ' sed "s/?//" | sort >observed && - test_cmp observed expected + test_cmp expected observed ' test_expect_success 'rev-list W/O --missing fails' ' diff --git a/t/t7201-co.sh b/t/t7201-co.sh index 324933acf..826987ca8 100755 --- a/t/t7201-co.sh +++ b/t/t7201-co.sh @@ -160,7 +160,7 @@ test_expect_success 'checkout -m with merge conflict' ' git diff master:one :3:uno | sed -e "1,/^@@/d" -e "/^ /d" -e "s/^-/d/" -e "s/^+/a/" >current && fill d2 aT d7 aS >expect && - test_cmp current expect && + test_cmp expect current && git diff --cached two >current && test_must_be_empty current ' @@ -174,7 +174,7 @@ test_expect_success 'format of merge conflict from checkout -m' ' git ls-files >current && fill same two two two >expect && - test_cmp current expect && + test_cmp expect current && cat <<-EOF >expect && <<<<<<< simple diff --git a/t/t7406-submodule-update.sh b/t/t7406-submodule-update.sh index 10dc91620..e87164aa8 100755 --- a/t/t7406-submodule-update.sh +++ b/t/t7406-submodule-update.sh @@ -789,7 +789,7 @@ test_expect_success 'submodule add places git-dir in superprojects git-dir' ' (cd .git/modules/deeper/submodule && git log > ../../../../actual ) && - test_cmp actual expected + test_cmp expected actual ) ' @@ -807,7 +807,7 @@ test_expect_success 'submodule update places git-dir in superprojects git-dir' ' (cd .git/modules/deeper/submodule && git log > ../../../../actual ) && - test_cmp actual expected + test_cmp expected actual ) ' @@ -827,7 +827,7 @@ test_expect_success 'submodule add places git-dir in superprojects git-dir recur git add deeper/submodule && git commit -m "update submodule" && git push origin : && - test_cmp actual expected + test_cmp expected actual ) ' @@ -874,7 +874,7 @@ test_expect_success 'submodule update places git-dir in superprojects git-dir re (cd .git/modules/submodule/modules/subsubmodule && git log > ../../../../../actual ) && - test_cmp actual expected + test_cmp expected actual ) ' diff --git a/t/t7800-difftool.sh b/t/t7800-difftool.sh index 668bbee73..562bd215a 100755 --- a/t/t7800-difftool.sh +++ b/t/t7800-difftool.sh @@ -557,7 +557,7 @@ test_expect_success SYMLINKS 'difftool --dir-diff --symlink without unstaged cha EOF git difftool --dir-diff --symlink \ --extcmd "./.git/CHECK_SYMLINKS" branch HEAD && - test_cmp actual expect + test_cmp expect actual ' write_script modify-right-file <<\EOF diff --git a/t/t9100-git-svn-basic.sh b/t/t9100-git-svn-basic.sh index 9af607884..2c309a57d 100755 --- a/t/t9100-git-svn-basic.sh +++ b/t/t9100-git-svn-basic.sh @@ -221,7 +221,7 @@ tree d667270a1f7b109f5eb3aaea21ede14b56bfdd6e tree 8f51f74cf0163afc9ad68a4b1537288c4558b5a4 EOF -test_expect_success POSIXPERM,SYMLINKS "$name" "test_cmp a expected" +test_expect_success POSIXPERM,SYMLINKS "$name" "test_cmp expected a" test_expect_success 'exit if remote refs are ambigious' ' git config --add svn-remote.svn.fetch \ diff --git a/t/t9133-git-svn-nested-git-repo.sh b/t/t9133-git-svn-nested-git-repo.sh index f3c30e63b..f89486086 100755 --- a/t/t9133-git-svn-nested-git-repo.sh +++ b/t/t9133-git-svn-nested-git-repo.sh @@ -45,7 +45,7 @@ test_expect_success 'update git svn-cloned repo' ' git svn rebase && echo a > expect && echo b >> expect && - test_cmp a expect && + test_cmp expect a && rm expect ) ' @@ -69,7 +69,7 @@ test_expect_success 'update git svn-cloned repo' ' git svn rebase && echo a > expect && echo b >> expect && - test_cmp a expect && + test_cmp expect a && rm expect ) ' @@ -93,7 +93,7 @@ test_expect_success 'update git svn-cloned repo again' ' echo a > expect && echo b >> expect && echo c >> expect && - test_cmp a expect && + test_cmp expect a && rm expect ) ' diff --git a/t/t9600-cvsimport.sh b/t/t9600-cvsimport.sh index 5dfee07d9..251fdd66c 100755 --- a/t/t9600-cvsimport.sh +++ b/t/t9600-cvsimport.sh @@ -148,7 +148,7 @@ test_expect_success PERL 'import from a CVS working tree' ' git cvsimport -a -z0 && echo 1 >expect && git log -1 --pretty=format:%s%n >actual && - test_cmp actual expect + test_cmp expect actual ) ' diff --git a/t/t9603-cvsimport-patchsets.sh b/t/t9603-cvsimport-patchsets.sh index c4c3c4954..3e64b11ea 100755 --- a/t/t9603-cvsimport-patchsets.sh +++ b/t/t9603-cvsimport-patchsets.sh @@ -29,11 +29,11 @@ test_expect_failure PERL 'import with criss cross times on revisions' ' Rev 3 Rev 2 Rev 1" > expect-master && - test_cmp actual-master expect-master && + test_cmp expect-master actual-master && echo "Rev 5 Branch A Wed Mar 11 19:09:10 2009 +0000 Rev 4 Branch A Wed Mar 11 19:03:52 2009 +0000" > expect-A && - test_cmp actual-A expect-A + test_cmp expect-A actual-A ' test_done diff --git a/t/t9604-cvsimport-timestamps.sh b/t/t9604-cvsimport-timestamps.sh index a4b3db24b..2ff4aa932 100755 --- a/t/t9604-cvsimport-timestamps.sh +++ b/t/t9604-cvsimport-timestamps.sh @@ -31,7 +31,7 @@ test_expect_success PERL 'check timestamps are UTC (TZ=CST6CDT)' ' Rev 2 2005-02-01 00:00:00 +0000 Rev 1 2005-01-01 00:00:00 +0000 EOF - test_cmp actual-1 expect-1 + test_cmp expect-1 actual-1 ' test_expect_success PERL 'check timestamps with author-specific timezones' ' @@ -65,7 +65,7 @@ test_expect_success PERL 'check timestamps with author-specific timezones' ' Rev 2 2005-01-31 18:00:00 -0600 User Two Rev 1 2005-01-01 00:00:00 +0000 User One EOF - test_cmp actual-2 expect-2 + test_cmp expect-2 actual-2 ' test_done From patchwork Fri Sep 21 01:43:30 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew DeVore X-Patchwork-Id: 10608911 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id AABF4913 for ; Fri, 21 Sep 2018 01:44:02 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A311E2E005 for ; Fri, 21 Sep 2018 01:44:02 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 974B22E00E; Fri, 21 Sep 2018 01:44:02 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.5 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI, USER_IN_DEF_DKIM_WL autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 1E55F2E005 for ; Fri, 21 Sep 2018 01:44:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388968AbeIUHaX (ORCPT ); Fri, 21 Sep 2018 03:30:23 -0400 Received: from mail-oi0-f74.google.com ([209.85.218.74]:35435 "EHLO mail-oi0-f74.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725947AbeIUHaX (ORCPT ); Fri, 21 Sep 2018 03:30:23 -0400 Received: by mail-oi0-f74.google.com with SMTP id v4-v6so10554696oix.2 for ; Thu, 20 Sep 2018 18:43:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:in-reply-to:message-id:mime-version:references:subject:from:to :cc; bh=7zKw0egsy+x7+rdsaWS05YoLfNTl4N5cl/+AFEkaWC0=; b=ekWPVP7ewyJPQBxv8EUtTQ5Fv4C6jzNDJq3CRlBTey9hk4r9XlqapOJ7WKM9d9D1++ 8xQMRJNoYps6IXoNYZ2RH8wv36eNQbu9ueKFNMkwNEGkrIomibn3M6HE6NBw2uGZ9yNP wygK4NiV440uv0ZIz6dnN8KsPe92q6XoTLzrHJbTYtPAmrRbR2eYZRWK/s9YxAiK0wmO tvOibcoRTo4VFQxg/Bdg18Cnwm1GCrGkg/UzupHSu5C9jlCJuWL/0mkqwtF8ZXFuDq+t HCbAwisMlU3Wm3aOAXTs8JY7Jj8BOaG4cTU5R/caw1w+A4SZmvgJrpixS6TuPO+Hvx/P XNIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc; bh=7zKw0egsy+x7+rdsaWS05YoLfNTl4N5cl/+AFEkaWC0=; b=CQCs7nnTT1F9zDGqj6CtQUJ/PKYaXiPYNjysKOdfhwFk4Lg+W8zQMUkLq8tAB7YUSs tl9TZyf4rmjqFQvcBqSemjqYodvUvBydJbznGaMKY/yWHgXX8qeypilHWSMHq9KxR0j1 iRG6QWzEf8oEEhX3wA0kQ7XQK18u/c50wE6YiNH8GsIYLEgrU7c1Bmuzyrum79Oymk3D dHgBD8qywLKY7KYmzHx/JQiDdaLRqMVaMwxFHlBcbvB4e+WcrlkpBuF6f3MLpvFR69Fj PZkV0GLikb3qKepB1yeqOWNH3xTslnJOHt/P7uqHtJjvhyFtTNlQVfxUBZ7Ud23M7icM +qWA== X-Gm-Message-State: APzg51DC6pSIB3uxQOR3lXngNgJQUZiSLL/zVA6e87j/66P4numPPRc4 5X7jStSm+7LZ5T8Tf2x4haHzCddfLo+StRwupbDTUU4gQ7/U7jOwuHW+HqJ04l3t/dIbMMVw1IR sIzfsh9BWJuMHkKzpQmUMw//1cMSalyI7bni4UVehOoWM1KncUzgGwWyFAgo= X-Google-Smtp-Source: ANB0VdbpqkWEW17VlHfUQPj02jG+s5jM0tAx9+jHl6di+dr5RxJs9i2q8rkzEydL5CD7krcgjtinWc9cGSyc X-Received: by 2002:aca:d5cf:: with SMTP id m198-v6mr44969533oig.26.1537494237951; Thu, 20 Sep 2018 18:43:57 -0700 (PDT) Date: Thu, 20 Sep 2018 18:43:30 -0700 In-Reply-To: Message-Id: Mime-Version: 1.0 References: X-Mailer: git-send-email 2.19.0.444.g18242da7ef-goog Subject: [PATCH v3 4/5] tests: don't swallow Git errors upstream of pipes From: Matthew DeVore To: git@vger.kernel.org Cc: Matthew DeVore , peff@peff.net, jonathantanmy@google.com, gitster@pobox.com, jrn@google.com, sunshine@sunshineco.com Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Some pipes in tests lose the exit code of git processes, which can mask unexpected behavior like crashes. Split these pipes up so that git commands are only at the end of pipes rather than the beginning or middle. The violations fixed in this patch were found in the process of fixing pipe placement in a prior patch. Signed-off-by: Matthew DeVore --- t/t5317-pack-objects-filter-objects.sh | 156 +++++++++++++------------ t/t5616-partial-clone.sh | 14 ++- t/t6112-rev-list-filters-objects.sh | 103 ++++++++-------- t/t9101-git-svn-props.sh | 3 +- 4 files changed, 143 insertions(+), 133 deletions(-) diff --git a/t/t5317-pack-objects-filter-objects.sh b/t/t5317-pack-objects-filter-objects.sh index c093eb891..2e718f0bd 100755 --- a/t/t5317-pack-objects-filter-objects.sh +++ b/t/t5317-pack-objects-filter-objects.sh @@ -20,8 +20,9 @@ test_expect_success 'setup r1' ' ' test_expect_success 'verify blob count in normal packfile' ' - git -C r1 ls-files -s file.1 file.2 file.3 file.4 file.5 | - awk -f print_2.awk | + git -C r1 ls-files -s file.1 file.2 file.3 file.4 file.5 \ + >ls_files_result && + awk -f print_2.awk ls_files_result | sort >expected && git -C r1 pack-objects --rev --stdout >all.pack <<-EOF && @@ -29,8 +30,8 @@ test_expect_success 'verify blob count in normal packfile' ' EOF git -C r1 index-pack ../all.pack && - git -C r1 verify-pack -v ../all.pack | - grep blob | + git -C r1 verify-pack -v ../all.pack >verify_result && + grep blob verify_result | awk -f print_1.awk | sort >observed && @@ -43,8 +44,8 @@ test_expect_success 'verify blob:none packfile has no blobs' ' EOF git -C r1 index-pack ../filter.pack && - git -C r1 verify-pack -v ../filter.pack | - grep blob | + git -C r1 verify-pack -v ../filter.pack >verify_result && + grep blob verify_result | awk -f print_1.awk | sort >observed && @@ -53,13 +54,13 @@ test_expect_success 'verify blob:none packfile has no blobs' ' ' test_expect_success 'verify normal and blob:none packfiles have same commits/trees' ' - git -C r1 verify-pack -v ../all.pack | - grep -E "commit|tree" | + git -C r1 verify-pack -v ../all.pack >verify_result && + grep -E "commit|tree" verify_result | awk -f print_1.awk | sort >expected && - git -C r1 verify-pack -v ../filter.pack | - grep -E "commit|tree" | + git -C r1 verify-pack -v ../filter.pack >verify_result && + grep -E "commit|tree" verify_result | awk -f print_1.awk | sort >observed && @@ -82,8 +83,8 @@ test_expect_success 'setup r2' ' ' test_expect_success 'verify blob count in normal packfile' ' - git -C r2 ls-files -s large.1000 large.10000 | - awk -f print_2.awk | + git -C r2 ls-files -s large.1000 large.10000 >ls_files_result && + awk -f print_2.awk ls_files_result | sort >expected && git -C r2 pack-objects --rev --stdout >all.pack <<-EOF && @@ -91,8 +92,8 @@ test_expect_success 'verify blob count in normal packfile' ' EOF git -C r2 index-pack ../all.pack && - git -C r2 verify-pack -v ../all.pack | - grep blob | + git -C r2 verify-pack -v ../all.pack >verify_result && + grep blob verify_result | awk -f print_1.awk | sort >observed && @@ -105,8 +106,8 @@ test_expect_success 'verify blob:limit=500 omits all blobs' ' EOF git -C r2 index-pack ../filter.pack && - git -C r2 verify-pack -v ../filter.pack | - grep blob | + git -C r2 verify-pack -v ../filter.pack >verify_result && + grep blob verify_result | awk -f print_1.awk | sort >observed && @@ -120,8 +121,8 @@ test_expect_success 'verify blob:limit=1000' ' EOF git -C r2 index-pack ../filter.pack && - git -C r2 verify-pack -v ../filter.pack | - grep blob | + git -C r2 verify-pack -v ../filter.pack >verify_result && + grep blob verify_result | awk -f print_1.awk | sort >observed && @@ -130,8 +131,8 @@ test_expect_success 'verify blob:limit=1000' ' ' test_expect_success 'verify blob:limit=1001' ' - git -C r2 ls-files -s large.1000 | - awk -f print_2.awk | + git -C r2 ls-files -s large.1000 >ls_files_result && + awk -f print_2.awk ls_files_result | sort >expected && git -C r2 pack-objects --rev --stdout --filter=blob:limit=1001 >filter.pack <<-EOF && @@ -139,8 +140,8 @@ test_expect_success 'verify blob:limit=1001' ' EOF git -C r2 index-pack ../filter.pack && - git -C r2 verify-pack -v ../filter.pack | - grep blob | + git -C r2 verify-pack -v ../filter.pack >verify_result && + grep blob verify_result | awk -f print_1.awk | sort >observed && @@ -148,8 +149,8 @@ test_expect_success 'verify blob:limit=1001' ' ' test_expect_success 'verify blob:limit=10001' ' - git -C r2 ls-files -s large.1000 large.10000 | - awk -f print_2.awk | + git -C r2 ls-files -s large.1000 large.10000 >ls_files_result && + awk -f print_2.awk ls_files_result | sort >expected && git -C r2 pack-objects --rev --stdout --filter=blob:limit=10001 >filter.pack <<-EOF && @@ -157,8 +158,8 @@ test_expect_success 'verify blob:limit=10001' ' EOF git -C r2 index-pack ../filter.pack && - git -C r2 verify-pack -v ../filter.pack | - grep blob | + git -C r2 verify-pack -v ../filter.pack >verify_result && + grep blob verify_result | awk -f print_1.awk | sort >observed && @@ -166,8 +167,8 @@ test_expect_success 'verify blob:limit=10001' ' ' test_expect_success 'verify blob:limit=1k' ' - git -C r2 ls-files -s large.1000 | - awk -f print_2.awk | + git -C r2 ls-files -s large.1000 >ls_files_result && + awk -f print_2.awk ls_files_result | sort >expected && git -C r2 pack-objects --rev --stdout --filter=blob:limit=1k >filter.pack <<-EOF && @@ -175,8 +176,8 @@ test_expect_success 'verify blob:limit=1k' ' EOF git -C r2 index-pack ../filter.pack && - git -C r2 verify-pack -v ../filter.pack | - grep blob | + git -C r2 verify-pack -v ../filter.pack >verify_result && + grep blob verify_result | awk -f print_1.awk | sort >observed && @@ -184,8 +185,8 @@ test_expect_success 'verify blob:limit=1k' ' ' test_expect_success 'verify explicitly specifying oversized blob in input' ' - git -C r2 ls-files -s large.1000 large.10000 | - awk -f print_2.awk | + git -C r2 ls-files -s large.1000 large.10000 >ls_files_result && + awk -f print_2.awk ls_files_result | sort >expected && git -C r2 pack-objects --rev --stdout --filter=blob:limit=1k >filter.pack <<-EOF && @@ -194,8 +195,8 @@ test_expect_success 'verify explicitly specifying oversized blob in input' ' EOF git -C r2 index-pack ../filter.pack && - git -C r2 verify-pack -v ../filter.pack | - grep blob | + git -C r2 verify-pack -v ../filter.pack >verify_result && + grep blob verify_result | awk -f print_1.awk | sort >observed && @@ -203,8 +204,8 @@ test_expect_success 'verify explicitly specifying oversized blob in input' ' ' test_expect_success 'verify blob:limit=1m' ' - git -C r2 ls-files -s large.1000 large.10000 | - awk -f print_2.awk | + git -C r2 ls-files -s large.1000 large.10000 >ls_files_result && + awk -f print_2.awk ls_files_result | sort >expected && git -C r2 pack-objects --rev --stdout --filter=blob:limit=1m >filter.pack <<-EOF && @@ -212,8 +213,8 @@ test_expect_success 'verify blob:limit=1m' ' EOF git -C r2 index-pack ../filter.pack && - git -C r2 verify-pack -v ../filter.pack | - grep blob | + git -C r2 verify-pack -v ../filter.pack >verify_result && + grep blob verify_result | awk -f print_1.awk | sort >observed && @@ -221,13 +222,13 @@ test_expect_success 'verify blob:limit=1m' ' ' test_expect_success 'verify normal and blob:limit packfiles have same commits/trees' ' - git -C r2 verify-pack -v ../all.pack | - grep -E "commit|tree" | + git -C r2 verify-pack -v ../all.pack >verify_result && + grep -E "commit|tree" verify_result | awk -f print_1.awk | sort >expected && - git -C r2 verify-pack -v ../filter.pack | - grep -E "commit|tree" | + git -C r2 verify-pack -v ../filter.pack >verify_result && + grep -E "commit|tree" verify_result | awk -f print_1.awk | sort >observed && @@ -255,8 +256,9 @@ test_expect_success 'setup r3' ' ' test_expect_success 'verify blob count in normal packfile' ' - git -C r3 ls-files -s sparse1 sparse2 dir1/sparse1 dir1/sparse2 | - awk -f print_2.awk | + git -C r3 ls-files -s sparse1 sparse2 dir1/sparse1 dir1/sparse2 \ + >ls_files_result && + awk -f print_2.awk ls_files_result | sort >expected && git -C r3 pack-objects --rev --stdout >all.pack <<-EOF && @@ -264,8 +266,8 @@ test_expect_success 'verify blob count in normal packfile' ' EOF git -C r3 index-pack ../all.pack && - git -C r3 verify-pack -v ../all.pack | - grep blob | + git -C r3 verify-pack -v ../all.pack >verify_result && + grep blob verify_result | awk -f print_1.awk | sort >observed && @@ -273,8 +275,8 @@ test_expect_success 'verify blob count in normal packfile' ' ' test_expect_success 'verify sparse:path=pattern1' ' - git -C r3 ls-files -s dir1/sparse1 dir1/sparse2 | - awk -f print_2.awk | + git -C r3 ls-files -s dir1/sparse1 dir1/sparse2 >ls_files_result && + awk -f print_2.awk ls_files_result | sort >expected && git -C r3 pack-objects --rev --stdout --filter=sparse:path=../pattern1 >filter.pack <<-EOF && @@ -282,8 +284,8 @@ test_expect_success 'verify sparse:path=pattern1' ' EOF git -C r3 index-pack ../filter.pack && - git -C r3 verify-pack -v ../filter.pack | - grep blob | + git -C r3 verify-pack -v ../filter.pack >verify_result && + grep blob verify_result | awk -f print_1.awk | sort >observed && @@ -291,13 +293,13 @@ test_expect_success 'verify sparse:path=pattern1' ' ' test_expect_success 'verify normal and sparse:path=pattern1 packfiles have same commits/trees' ' - git -C r3 verify-pack -v ../all.pack | - grep -E "commit|tree" | + git -C r3 verify-pack -v ../all.pack >verify_result && + grep -E "commit|tree" verify_result | awk -f print_1.awk | sort >expected && - git -C r3 verify-pack -v ../filter.pack | - grep -E "commit|tree" | + git -C r3 verify-pack -v ../filter.pack >verify_result && + grep -E "commit|tree" verify_result | awk -f print_1.awk | sort >observed && @@ -305,8 +307,8 @@ test_expect_success 'verify normal and sparse:path=pattern1 packfiles have same ' test_expect_success 'verify sparse:path=pattern2' ' - git -C r3 ls-files -s sparse1 dir1/sparse1 | - awk -f print_2.awk | + git -C r3 ls-files -s sparse1 dir1/sparse1 >ls_files_result && + awk -f print_2.awk ls_files_result | sort >expected && git -C r3 pack-objects --rev --stdout --filter=sparse:path=../pattern2 >filter.pack <<-EOF && @@ -314,8 +316,8 @@ test_expect_success 'verify sparse:path=pattern2' ' EOF git -C r3 index-pack ../filter.pack && - git -C r3 verify-pack -v ../filter.pack | - grep blob | + git -C r3 verify-pack -v ../filter.pack >verify_result && + grep blob verify_result | awk -f print_1.awk | sort >observed && @@ -323,13 +325,13 @@ test_expect_success 'verify sparse:path=pattern2' ' ' test_expect_success 'verify normal and sparse:path=pattern2 packfiles have same commits/trees' ' - git -C r3 verify-pack -v ../all.pack | - grep -E "commit|tree" | + git -C r3 verify-pack -v ../all.pack >verify_result && + grep -E "commit|tree" verify_result | awk -f print_1.awk | sort >expected && - git -C r3 verify-pack -v ../filter.pack | - grep -E "commit|tree" | + git -C r3 verify-pack -v ../filter.pack >verify_result && + grep -E "commit|tree" verify_result | awk -f print_1.awk | sort >observed && @@ -356,8 +358,9 @@ test_expect_success 'setup r4' ' ' test_expect_success 'verify blob count in normal packfile' ' - git -C r4 ls-files -s pattern sparse1 sparse2 dir1/sparse1 dir1/sparse2 | - awk -f print_2.awk | + git -C r4 ls-files -s pattern sparse1 sparse2 dir1/sparse1 dir1/sparse2 \ + >ls_files_result && + awk -f print_2.awk ls_files_result | sort >expected && git -C r4 pack-objects --rev --stdout >all.pack <<-EOF && @@ -365,8 +368,8 @@ test_expect_success 'verify blob count in normal packfile' ' EOF git -C r4 index-pack ../all.pack && - git -C r4 verify-pack -v ../all.pack | - grep blob | + git -C r4 verify-pack -v ../all.pack >verify_result && + grep blob verify_result | awk -f print_1.awk | sort >observed && @@ -374,8 +377,8 @@ test_expect_success 'verify blob count in normal packfile' ' ' test_expect_success 'verify sparse:oid=OID' ' - git -C r4 ls-files -s dir1/sparse1 dir1/sparse2 | - awk -f print_2.awk | + git -C r4 ls-files -s dir1/sparse1 dir1/sparse2 >ls_files_result && + awk -f print_2.awk ls_files_result | sort >expected && oid=$(git -C r4 ls-files -s pattern | awk -f print_2.awk) && @@ -384,8 +387,8 @@ test_expect_success 'verify sparse:oid=OID' ' EOF git -C r4 index-pack ../filter.pack && - git -C r4 verify-pack -v ../filter.pack | - grep blob | + git -C r4 verify-pack -v ../filter.pack >verify_result && + grep blob verify_result | awk -f print_1.awk | sort >observed && @@ -393,8 +396,8 @@ test_expect_success 'verify sparse:oid=OID' ' ' test_expect_success 'verify sparse:oid=oid-ish' ' - git -C r4 ls-files -s dir1/sparse1 dir1/sparse2 | - awk -f print_2.awk | + git -C r4 ls-files -s dir1/sparse1 dir1/sparse2 >ls_files_result && + awk -f print_2.awk ls_files_result | sort >expected && git -C r4 pack-objects --rev --stdout --filter=sparse:oid=master:pattern >filter.pack <<-EOF && @@ -402,8 +405,8 @@ test_expect_success 'verify sparse:oid=oid-ish' ' EOF git -C r4 index-pack ../filter.pack && - git -C r4 verify-pack -v ../filter.pack | - grep blob | + git -C r4 verify-pack -v ../filter.pack >verify_result && + grep blob verify_result | awk -f print_1.awk | sort >observed && @@ -414,8 +417,9 @@ test_expect_success 'verify sparse:oid=oid-ish' ' # This models previously omitted objects that we did not receive. test_expect_success 'setup r1 - delete loose blobs' ' - git -C r1 ls-files -s file.1 file.2 file.3 file.4 file.5 | - awk -f print_2.awk | + git -C r1 ls-files -s file.1 file.2 file.3 file.4 file.5 \ + >ls_files_result && + awk -f print_2.awk ls_files_result | sort >expected && for id in `cat expected | sed "s|..|&/|"` diff --git a/t/t5616-partial-clone.sh b/t/t5616-partial-clone.sh index e4d032c9d..fc7aeb1ab 100755 --- a/t/t5616-partial-clone.sh +++ b/t/t5616-partial-clone.sh @@ -35,8 +35,8 @@ test_expect_success 'setup bare clone for server' ' test_expect_success 'do partial clone 1' ' git clone --no-checkout --filter=blob:none "file://$(pwd)/srv.bare" pc1 && - git -C pc1 rev-list HEAD --quiet --objects --missing=print | - awk -f print_1.awk | + git -C pc1 rev-list HEAD --quiet --objects --missing=print >revs && + awk -f print_1.awk revs | sed "s/?//" | sort >observed.oids && @@ -133,16 +133,18 @@ test_expect_success 'push new commits to server for file.3.txt' ' test_expect_success 'manual prefetch of missing objects' ' git -C pc1 fetch --filter=blob:none origin && - git -C pc1 rev-list master..origin/master --quiet --objects --missing=print | - awk -f print_1.awk | + git -C pc1 rev-list master..origin/master --quiet --objects --missing=print \ + >revs && + awk -f print_1.awk revs | sed "s/?//" | sort >observed.oids && test_line_count = 6 observed.oids && git -C pc1 fetch-pack --stdin "file://$(pwd)/srv.bare" revs && + awk -f print_1.awk revs | sed "s/?//" | sort >observed.oids && diff --git a/t/t6112-rev-list-filters-objects.sh b/t/t6112-rev-list-filters-objects.sh index ae4402226..b00cf6fa8 100755 --- a/t/t6112-rev-list-filters-objects.sh +++ b/t/t6112-rev-list-filters-objects.sh @@ -20,12 +20,13 @@ test_expect_success 'setup r1' ' ' test_expect_success 'verify blob:none omits all 5 blobs' ' - git -C r1 ls-files -s file.1 file.2 file.3 file.4 file.5 | - awk -f print_2.awk | + git -C r1 ls-files -s file.1 file.2 file.3 file.4 file.5 \ + >ls_files_result && + awk -f print_2.awk ls_files_result | sort >expected && - git -C r1 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:none | - awk -f print_1.awk | + git -C r1 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:none >revs && + awk -f print_1.awk revs | sed "s/~//" | sort >observed && @@ -33,12 +34,13 @@ test_expect_success 'verify blob:none omits all 5 blobs' ' ' test_expect_success 'verify emitted+omitted == all' ' - git -C r1 rev-list HEAD --objects | - awk -f print_1.awk | + git -C r1 rev-list HEAD --objects >revs && + awk -f print_1.awk revs | sort >expected && - git -C r1 rev-list HEAD --objects --filter-print-omitted --filter=blob:none | - awk -f print_1.awk | + git -C r1 rev-list HEAD --objects --filter-print-omitted --filter=blob:none \ + >revs && + awk -f print_1.awk revs | sed "s/~//" | sort >observed && @@ -62,12 +64,12 @@ test_expect_success 'setup r2' ' ' test_expect_success 'verify blob:limit=500 omits all blobs' ' - git -C r2 ls-files -s large.1000 large.10000 | - awk -f print_2.awk | + git -C r2 ls-files -s large.1000 large.10000 >ls_files_result && + awk -f print_2.awk ls_files_result | sort >expected && - git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=500 | - awk -f print_1.awk | + git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=500 >revs && + awk -f print_1.awk revs | sed "s/~//" | sort >observed && @@ -75,12 +77,12 @@ test_expect_success 'verify blob:limit=500 omits all blobs' ' ' test_expect_success 'verify emitted+omitted == all' ' - git -C r2 rev-list HEAD --objects | - awk -f print_1.awk | + git -C r2 rev-list HEAD --objects >revs && + awk -f print_1.awk revs | sort >expected && - git -C r2 rev-list HEAD --objects --filter-print-omitted --filter=blob:limit=500 | - awk -f print_1.awk | + git -C r2 rev-list HEAD --objects --filter-print-omitted --filter=blob:limit=500 >revs && + awk -f print_1.awk revs | sed "s/~//" | sort >observed && @@ -88,12 +90,12 @@ test_expect_success 'verify emitted+omitted == all' ' ' test_expect_success 'verify blob:limit=1000' ' - git -C r2 ls-files -s large.1000 large.10000 | - awk -f print_2.awk | + git -C r2 ls-files -s large.1000 large.10000 >ls_files_result && + awk -f print_2.awk ls_files_result | sort >expected && - git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=1000 | - awk -f print_1.awk | + git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=1000 >revs && + awk -f print_1.awk revs | sed "s/~//" | sort >observed && @@ -101,12 +103,12 @@ test_expect_success 'verify blob:limit=1000' ' ' test_expect_success 'verify blob:limit=1001' ' - git -C r2 ls-files -s large.10000 | - awk -f print_2.awk | + git -C r2 ls-files -s large.10000 >ls_files_result && + awk -f print_2.awk ls_files_result | sort >expected && - git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=1001 | - awk -f print_1.awk | + git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=1001 >revs && + awk -f print_1.awk revs | sed "s/~//" | sort >observed && @@ -114,12 +116,12 @@ test_expect_success 'verify blob:limit=1001' ' ' test_expect_success 'verify blob:limit=1k' ' - git -C r2 ls-files -s large.10000 | - awk -f print_2.awk | + git -C r2 ls-files -s large.10000 >ls_files_result && + awk -f print_2.awk ls_files_result | sort >expected && - git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=1k | - awk -f print_1.awk | + git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=1k >revs && + awk -f print_1.awk revs | sed "s/~//" | sort >observed && @@ -127,8 +129,8 @@ test_expect_success 'verify blob:limit=1k' ' ' test_expect_success 'verify blob:limit=1m' ' - git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=1m | - awk -f print_1.awk | + git -C r2 rev-list HEAD --quiet --objects --filter-print-omitted --filter=blob:limit=1m >revs && + awk -f print_1.awk revs | sed "s/~//" | sort >observed && @@ -156,12 +158,12 @@ test_expect_success 'setup r3' ' ' test_expect_success 'verify sparse:path=pattern1 omits top-level files' ' - git -C r3 ls-files -s sparse1 sparse2 | - awk -f print_2.awk | + git -C r3 ls-files -s sparse1 sparse2 >ls_files_result && + awk -f print_2.awk ls_files_result | sort >expected && - git -C r3 rev-list HEAD --quiet --objects --filter-print-omitted --filter=sparse:path=../pattern1 | - awk -f print_1.awk | + git -C r3 rev-list HEAD --quiet --objects --filter-print-omitted --filter=sparse:path=../pattern1 >revs && + awk -f print_1.awk revs | sed "s/~//" | sort >observed && @@ -169,12 +171,12 @@ test_expect_success 'verify sparse:path=pattern1 omits top-level files' ' ' test_expect_success 'verify sparse:path=pattern2 omits both sparse2 files' ' - git -C r3 ls-files -s sparse2 dir1/sparse2 | - awk -f print_2.awk | + git -C r3 ls-files -s sparse2 dir1/sparse2 >ls_files_result && + awk -f print_2.awk ls_files_result | sort >expected && - git -C r3 rev-list HEAD --quiet --objects --filter-print-omitted --filter=sparse:path=../pattern2 | - awk -f print_1.awk | + git -C r3 rev-list HEAD --quiet --objects --filter-print-omitted --filter=sparse:path=../pattern2 >revs && + awk -f print_1.awk revs | sed "s/~//" | sort >observed && @@ -192,14 +194,14 @@ test_expect_success 'setup r3 part 2' ' ' test_expect_success 'verify sparse:oid=OID omits top-level files' ' - git -C r3 ls-files -s pattern sparse1 sparse2 | - awk -f print_2.awk | + git -C r3 ls-files -s pattern sparse1 sparse2 >ls_files_result && + awk -f print_2.awk ls_files_result | sort >expected && oid=$(git -C r3 ls-files -s pattern | awk -f print_2.awk) && - git -C r3 rev-list HEAD --quiet --objects --filter-print-omitted --filter=sparse:oid=$oid | - awk -f print_1.awk | + git -C r3 rev-list HEAD --quiet --objects --filter-print-omitted --filter=sparse:oid=$oid >revs && + awk -f print_1.awk revs | sed "s/~//" | sort >observed && @@ -207,12 +209,12 @@ test_expect_success 'verify sparse:oid=OID omits top-level files' ' ' test_expect_success 'verify sparse:oid=oid-ish omits top-level files' ' - git -C r3 ls-files -s pattern sparse1 sparse2 | - awk -f print_2.awk | + git -C r3 ls-files -s pattern sparse1 sparse2 >ls_files_result && + awk -f print_2.awk ls_files_result | sort >expected && - git -C r3 rev-list HEAD --quiet --objects --filter-print-omitted --filter=sparse:oid=master:pattern | - awk -f print_1.awk | + git -C r3 rev-list HEAD --quiet --objects --filter-print-omitted --filter=sparse:oid=master:pattern >revs && + awk -f print_1.awk revs | sed "s/~//" | sort >observed && @@ -223,8 +225,9 @@ test_expect_success 'verify sparse:oid=oid-ish omits top-level files' ' # This models previously omitted objects that we did not receive. test_expect_success 'rev-list W/ --missing=print' ' - git -C r1 ls-files -s file.1 file.2 file.3 file.4 file.5 | - awk -f print_2.awk | + git -C r1 ls-files -s file.1 file.2 file.3 file.4 file.5 \ + >ls_files_result && + awk -f print_2.awk ls_files_result | sort >expected && for id in `cat expected | sed "s|..|&/|"` @@ -232,8 +235,8 @@ test_expect_success 'rev-list W/ --missing=print' ' rm r1/.git/objects/$id done && - git -C r1 rev-list --quiet HEAD --missing=print --objects | - awk -f print_1.awk | + git -C r1 rev-list --quiet HEAD --missing=print --objects >revs && + awk -f print_1.awk revs | sed "s/?//" | sort >observed && diff --git a/t/t9101-git-svn-props.sh b/t/t9101-git-svn-props.sh index 8a5c8dc1a..8cba331fc 100755 --- a/t/t9101-git-svn-props.sh +++ b/t/t9101-git-svn-props.sh @@ -174,7 +174,8 @@ test_expect_success 'test create-ignore' " cmp ./deeply/.gitignore create-ignore.expect && cmp ./deeply/nested/.gitignore create-ignore.expect && cmp ./deeply/nested/directory/.gitignore create-ignore.expect && - git ls-files -s | grep gitignore | cmp - create-ignore-index.expect + git ls-files -s >ls_files_result && + grep gitignore ls_files_result | cmp - create-ignore-index.expect " cat >prop.expect <<\EOF From patchwork Fri Sep 21 01:43:31 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew DeVore X-Patchwork-Id: 10608913 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id DBDAE14DA for ; Fri, 21 Sep 2018 01:44:02 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D52642DFF6 for ; Fri, 21 Sep 2018 01:44:02 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C98692E00B; Fri, 21 Sep 2018 01:44:02 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.5 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI, USER_IN_DEF_DKIM_WL autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6D63A2DFF6 for ; Fri, 21 Sep 2018 01:44:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388971AbeIUHaZ (ORCPT ); Fri, 21 Sep 2018 03:30:25 -0400 Received: from mail-io1-f74.google.com ([209.85.166.74]:41201 "EHLO mail-io1-f74.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725947AbeIUHaY (ORCPT ); Fri, 21 Sep 2018 03:30:24 -0400 Received: by mail-io1-f74.google.com with SMTP id q24-v6so16787830iog.8 for ; Thu, 20 Sep 2018 18:44:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:in-reply-to:message-id:mime-version:references:subject:from:to :cc; bh=YXIo1FH1fR1mSKy0CeZwVTISsyiFVyBFWHq2lvkAPco=; b=MG5+LBOXjefsJvHW97tA+T2B2nLfdLvkWLqLfVrnEevQbRhJJh9QX4pj3v08hU1dwZ n64g5sGXmJJd6zQzIq9KqTS0KEMl20Ij6LmGRSXfcHvBguEPm9RzeAmeYnXu9VjS+FtB 8mBJK/v7ZQIXyPMMx39Gs08QP8zz8adB3ixHtyMEAGzgb85LVDFi3TNgLYGo8dOkXEoy H5UjZWj9cfCygFCVxLs0Q5P/+fMm38oj2gpkDK6IXiih6L5Zge+ZJaHPzQJRlwHPvrYq sS7kEqysUY67BVIBljlXuvDWwnl910ncmN7IhmV/AVIjuoNgJPDSKXmd8tIa3ol4tsWY s5Vg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc; bh=YXIo1FH1fR1mSKy0CeZwVTISsyiFVyBFWHq2lvkAPco=; b=iNpje3YEV3wHD/y0B2PNS5QRJb8frqTFbac9P8YHkyJdJJWG/+RtEZ29pul2uGGhA9 Z9Qh4HTnvKpccDdIH/ITNN2BzVImiRIxafUYk8rO8Q5Y/ANZmDbrHKkQHCtbfGvQJ3vU Tl5N3rkxJFxkJTpIwQzuZNSR+Jnl0OouPanK7E0Mk81IlKYGL6e3A+04lMsfN3+kysUb GK1QuQ8Q2Y5UWD4H9NYLwg7bHiQd74+H9RSBErvw9wP+Rsapq5bwlQ1T6Rbbv11rxbEZ XCFt/0IM8O9iY5kJf6ScOGr2PdXXvfOcyCBF7whjiWBt0KnQtqlbnHsMf1YC7cvUTTN5 qa9g== X-Gm-Message-State: APzg51Aaq3gkkXs/OV65qxZfzBiNf+r8akZhkr+VsWCqRR0xQ+qL4v5X enkDSF6In2hpbJrwGX9oJDR+sZuhugsA7sbYlFuSv42233EkTr9u79J/PxL8h8zT8ip0RQyarsU aURL/CDCNSNg2DRYPLcGkgoQryvisPg1eNp9SJyHcohavXeylPAt2/PydZhI= X-Google-Smtp-Source: ANB0VdaeDKbt3OtchrNHKMpReEY6NlndJu1Zn35bmBaZFf3rgUk6efxJd6bGOIwraHFOC/IHN+rcVzehgznS X-Received: by 2002:a5e:9901:: with SMTP id t1-v6mr33357512ioj.41.1537494239990; Thu, 20 Sep 2018 18:43:59 -0700 (PDT) Date: Thu, 20 Sep 2018 18:43:31 -0700 In-Reply-To: Message-Id: <52456f96545d2034b1fe01f4ae82fe9b75ff6c4c.1537493611.git.matvore@google.com> Mime-Version: 1.0 References: X-Mailer: git-send-email 2.19.0.444.g18242da7ef-goog Subject: [PATCH v3 5/5] t9109: don't swallow Git errors upstream of pipes From: Matthew DeVore To: git@vger.kernel.org Cc: Matthew DeVore , peff@peff.net, jonathantanmy@google.com, gitster@pobox.com, jrn@google.com, sunshine@sunshineco.com Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP 'git ... | foo' will mask any errors or crashes in git, so split up such pipes in this file. One testcase uses several separate pipe sequences in a row which are awkward to split up. Wrap the split-up pipe in a function so the awkwardness is not repeated. Also change that testcase's surrounding quotes from double to single to avoid premature string interpolation. Signed-off-by: Matthew DeVore --- t/t9101-git-svn-props.sh | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/t/t9101-git-svn-props.sh b/t/t9101-git-svn-props.sh index 8cba331fc..c26c4b092 100755 --- a/t/t9101-git-svn-props.sh +++ b/t/t9101-git-svn-props.sh @@ -190,17 +190,21 @@ EOF # This test can be improved: since all the svn:ignore contain the same # pattern, it can pass even though the propget did not execute on the # right directory. -test_expect_success 'test propget' " - git svn propget svn:ignore . | cmp - prop.expect && +test_expect_success 'test propget' ' + test_propget () { + git svn propget $1 $2 >actual && + cmp $3 actual + } && + test_propget svn:ignore . prop.expect && cd deeply && - git svn propget svn:ignore . | cmp - ../prop.expect && - git svn propget svn:entry:committed-rev nested/directory/.keep \ - | cmp - ../prop2.expect && - git svn propget svn:ignore .. | cmp - ../prop.expect && - git svn propget svn:ignore nested/ | cmp - ../prop.expect && - git svn propget svn:ignore ./nested | cmp - ../prop.expect && - git svn propget svn:ignore .././deeply/nested | cmp - ../prop.expect - " + test_propget svn:ignore . ../prop.expect && + test_propget svn:entry:committed-rev nested/directory/.keep \ + ../prop2.expect && + test_propget svn:ignore .. ../prop.expect && + test_propget svn:ignore nested/ ../prop.expect && + test_propget svn:ignore ./nested ../prop.expect && + test_propget svn:ignore .././deeply/nested ../prop.expect + ' cat >prop.expect <<\EOF Properties on '.': @@ -219,8 +223,11 @@ Properties on 'nested/directory/.keep': EOF test_expect_success 'test proplist' " - git svn proplist . | cmp - prop.expect && - git svn proplist nested/directory/.keep | cmp - prop2.expect + git svn proplist . >actual && + cmp prop.expect actual && + + git svn proplist nested/directory/.keep >actual && + cmp prop2.expect actual " test_done