From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: Jonathan Chang <ttjtftx@gmail.com>
Cc: Git Mailing List <git@vger.kernel.org>,
Christian Couder <christian.couder@gmail.com>,
Eric Sunshine <sunshine@sunshineco.com>,
Thomas Gummerer <t.gummerer@gmail.com>
Subject: Re: [GSoC][PATCH v3 2/3] t0000: avoid using pipes
Date: Sun, 17 Mar 2019 17:47:08 +0100 [thread overview]
Message-ID: <87imwha1o3.fsf@evledraar.gmail.com> (raw)
In-Reply-To: <5a3c6e24eb901c830e8e43608d81aef5d7b60315.1552835153.git.ttjtftx@gmail.com>
On Sun, Mar 17 2019, Jonathan Chang wrote:
> The exit code of the upstream in a pipe is ignored thus we should avoid
> using it. By writing out the output of the git command to a file, we can
> test the exit codes of both the commands.
>
> Signed-off-by: Jonathan Chang <ttjtftx@gmail.com>
> ---
> t/t0000-basic.sh | 28 ++++++++++++++--------------
> 1 file changed, 14 insertions(+), 14 deletions(-)
>
> diff --git a/t/t0000-basic.sh b/t/t0000-basic.sh
> index 53821f5817..47666b013e 100755
> --- a/t/t0000-basic.sh
> +++ b/t/t0000-basic.sh
> @@ -1118,27 +1118,25 @@ P=$(test_oid root)
>
> test_expect_success 'git commit-tree records the correct tree in a commit' '
> commit0=$(echo NO | git commit-tree $P) &&
> - tree=$(git show --pretty=raw $commit0 |
> - sed -n -e "s/^tree //p" -e "/^author /q") &&
> + git show --pretty=raw $commit0 >actual &&
> + tree=$(sed -n -e "s/^tree //p" -e "/^author /q" actual) &&
> test "z$tree" = "z$P"
This change is an improvement just changing the "git" invocations. But I
wonder as we're reviewing this / churning this if we couldn't also
modernize this style to just:
git .. >tmp &&
sed -n -e <tmp >actual &&
test_must_be_empty actual
> '
>
> test_expect_success 'git commit-tree records the correct parent in a commit' '
> commit1=$(echo NO | git commit-tree $P -p $commit0) &&
> - parent=$(git show --pretty=raw $commit1 |
> - sed -n -e "s/^parent //p" -e "/^author /q") &&
> + git show --pretty=raw $commit1 >actual &&
> + parent=$(sed -n -e "s/^parent //p" -e "/^author /q" actual) &&
> test "z$commit0" = "z$parent"
ditto.
> '
>
> test_expect_success 'git commit-tree omits duplicated parent in a commit' '
> commit2=$(echo NO | git commit-tree $P -p $commit0 -p $commit0) &&
> - parent=$(git show --pretty=raw $commit2 |
> - sed -n -e "s/^parent //p" -e "/^author /q" |
> - sort -u) &&
> + git show --pretty=raw $commit2 >actual &&
> + parent=$(sed -n -e "s/^parent //p" -e "/^author /q" actual | sort -u) &&
> test "z$commit0" = "z$parent" &&
> - numparent=$(git show --pretty=raw $commit2 |
> - sed -n -e "s/^parent //p" -e "/^author /q" |
> - wc -l) &&
> + git show --pretty=raw $commit2 >actual &&
> + numparent=$(sed -n -e "s/^parent //p" -e "/^author /q" actual | wc -l) &&
> test $numparent = 1
And stuff like this to (skipping the wc -l):
sed -n -e <tmp >actual &&
test_line_count = 1 actual
> '
>
> @@ -1147,7 +1145,8 @@ test_expect_success 'update-index D/F conflict' '
> mv path2 path0 &&
> mv tmp path2 &&
> git update-index --add --replace path2 path0/file2 &&
> - numpath0=$(git ls-files path0 | wc -l) &&
> + git ls-files path0 >actual &&
> + numpath0=$(wc -l <actual) &&
> test $numpath0 = 1
ditto.
> '
>
> @@ -1162,12 +1161,13 @@ test_expect_success 'very long name in the index handled sanely' '
> >path4 &&
> git update-index --add path4 &&
> (
> - git ls-files -s path4 |
> - sed -e "s/ .*/ /" |
> + git ls-files -s path4 >actual &&
> + sed -e "s/ .*/ /" actual |
> tr -d "\012" &&
> echo "$a"
> ) | git update-index --index-info &&
> - len=$(git ls-files "a*" | wc -c) &&
> + git ls-files "a*" >actual &&
> + len=$(wc -c <actual) &&
> test $len = 4098
Ditto. Maybe the initial author wanted to avoid writing out 4k lines,
but now that we're doing so anyway...
next prev parent reply other threads:[~2019-03-17 16:47 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-17 15:23 [GSoC][PATCH v3 0/3] Avoid using pipes Jonathan Chang
2019-03-17 15:23 ` [GSoC][PATCH v3 1/3] t0000: fix indentation Jonathan Chang
2019-03-17 15:23 ` [GSoC][PATCH v3 2/3] t0000: avoid using pipes Jonathan Chang
2019-03-17 16:47 ` Ævar Arnfjörð Bjarmason [this message]
2019-03-24 11:26 ` jonathan chang
2019-03-24 19:04 ` Ævar Arnfjörð Bjarmason
2019-03-17 15:23 ` [GSoC][PATCH v3 3/3] t0000: use test_line_count instead of wc -l Jonathan Chang
2019-03-17 16:48 ` Ævar Arnfjörð Bjarmason
2019-03-17 20:06 ` Thomas Gummerer
2019-03-18 7:36 ` Ævar Arnfjörð Bjarmason
2019-03-18 8:15 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87imwha1o3.fsf@evledraar.gmail.com \
--to=avarab@gmail.com \
--cc=christian.couder@gmail.com \
--cc=git@vger.kernel.org \
--cc=sunshine@sunshineco.com \
--cc=t.gummerer@gmail.com \
--cc=ttjtftx@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.