git@vger.kernel.org list mirror (unofficial, one of many)
 help / color / mirror / code / Atom feed
From: jonathan chang <ttjtftx@gmail.com>
To: Eric Sunshine <sunshine@sunshineco.com>
Cc: Christian Couder <christian.couder@gmail.com>,
	Thomas Gummerer <t.gummerer@gmail.com>, git <git@vger.kernel.org>
Subject: Re: [GSoC][PATCH v2 3/5] t0003-attributes: avoid using pipes
Date: Fri, 15 Mar 2019 09:56:33 +0800	[thread overview]
Message-ID: <CAOAu_YLGDAije4ugkPYh-11QMKVUEbGZNC335F4VtnszJO8Q9A@mail.gmail.com> (raw)
In-Reply-To: <CAPig+cQP74MC6fJC4fNCz9Rz3tDux1K4TGB7N+cOC8zScxOoAA@mail.gmail.com>

On Sun, Mar 10, 2019 at 6:13 PM Eric Sunshine <sunshine@sunshineco.com> wrote:
>
> On Sun, Mar 10, 2019 at 4:09 AM Jonathan Chang <ttjtftx@gmail.com> 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>
> >
> > diff --git a/t/t0003-attributes.sh b/t/t0003-attributes.sh
> > @@ -203,15 +203,18 @@ test_expect_success 'attribute test: read paths from stdin' '
> >  test_expect_success 'attribute test: --all option' '
> >         grep -v unspecified <expect-all | sort >specified-all &&
> >         sed -e "s/:.*//" <expect-all | uniq >stdin-all &&
> > -       git check-attr --stdin --all <stdin-all | sort >actual &&
> > +       git check-attr --stdin --all <stdin-all >actual &&
> > +       sort -o actual actual &&
> >         test_cmp specified-all actual
> >  '
>
> There is no existing use of "sort -o" anywhere in the Git test suite
> (or, for that matter, anywhere else in Git), which should give one
> pause before using it here. Although -o is allowed by POSIX, and POSIX
> even says it's safe for the output file to have the same name as one
> of the input files, there is no guarantee that "sort -o" will be
> supported on all platforms, or that all platforms promise that the
> output filename can match an input filename (in fact, neither the
> MacOS nor FreeBSD man pages for 'sort' make this promise).
> Consequently, it would be better to err on the side of safety and
> avoid "sort -o", which is easily enough done by using another
> temporary file:
>
>     git check-attr --stdin --all <stdin-all >output &&
>     sort output >actual &&
>
> The same comment applies to the remaining changes.

Noted. I did check POSIX, I should have also checked the use in Git.

Thanks for the review.

  reply	other threads:[~2019-03-15  1:56 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-09 15:45 [GSoC][PATCH] tests: " Jonathan Chang
2019-03-09 16:45 ` Thomas Gummerer
2019-03-10  8:07   ` [GSoC][PATCH v2 1/5] t0000-basic: fix an indentation error Jonathan Chang
2019-03-10  8:08     ` [GSoC][PATCH v2 2/5] t0000-basic: avoid using pipes Jonathan Chang
2019-03-10  8:09       ` [GSoC][PATCH v2 3/5] t0003-attributes: " Jonathan Chang
2019-03-10  8:10         ` [GSoC][PATCH v2 4/5] t0022-crlf-rename: " Jonathan Chang
2019-03-10  8:11           ` [GSoC][PATCH v2 5/5] t0000-basic: use test_line_count instead of wc -l Jonathan Chang
2019-03-10  9:50             ` Eric Sunshine
2019-03-11 16:10               ` ttjtftx
2019-03-10 10:03           ` [GSoC][PATCH v2 4/5] t0022-crlf-rename: avoid using pipes Eric Sunshine
     [not found]             ` <CAOAu_YJKNjGd3mw7K17ySQJeF4XxC+V00FFEYA7o593riEGN1g@mail.gmail.com>
2019-03-11 15:54               ` Fwd: " ttjtftx
2019-03-10 10:13         ` [GSoC][PATCH v2 3/5] t0003-attributes: " Eric Sunshine
2019-03-15  1:56           ` jonathan chang [this message]
2019-03-10 17:59     ` [GSoC][PATCH v2 1/5] t0000-basic: fix an indentation error Thomas Gummerer
2019-03-15  1:55       ` jonathan chang
2019-03-15 12:48         ` Christian Couder
2019-03-10  6:05 ` [GSoC][PATCH] tests: avoid using pipes Christian Couder
2019-03-10  8:27   ` ttjtftx
2019-03-10 15:05     ` Christian Couder
     [not found]       ` <CAOAu_YL8heWLSznRV8pjLkRZBOEth_7CSmftupx+4+SSx5yztw@mail.gmail.com>
2019-03-11 16:45         ` Fwd: " jonathan chang

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

  List information: http://vger.kernel.org/majordomo-info.html

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

  git send-email \
    --in-reply-to=CAOAu_YLGDAije4ugkPYh-11QMKVUEbGZNC335F4VtnszJO8Q9A@mail.gmail.com \
    --to=ttjtftx@gmail.com \
    --cc=christian.couder@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=sunshine@sunshineco.com \
    --cc=t.gummerer@gmail.com \
    --subject='Re: [GSoC][PATCH v2 3/5] t0003-attributes: avoid using pipes' \
    /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

git@vger.kernel.org list mirror (unofficial, one of many)

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://public-inbox.org/git
	git clone --mirror http://ou63pmih66umazou.onion/git
	git clone --mirror http://czquwvybam4bgbro.onion/git
	git clone --mirror http://hjrcffqmbrq6wope.onion/git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V1 git git/ https://public-inbox.org/git \
		git@vger.kernel.org
	public-inbox-index git

Example config snippet for mirrors.
Newsgroups are available over NNTP:
	nntp://news.public-inbox.org/inbox.comp.version-control.git
	nntp://7fh6tueqddpjyxjmgtdiueylzoqt6pt7hec3pukyptlmohoowvhde4yd.onion/inbox.comp.version-control.git
	nntp://ie5yzdi7fg72h7s4sdcztq5evakq23rdt33mfyfcddc5u3ndnw24ogqd.onion/inbox.comp.version-control.git
	nntp://4uok3hntl7oi7b4uf4rtfwefqeexfzil2w6kgk2jn5z2f764irre7byd.onion/inbox.comp.version-control.git
	nntp://news.gmane.io/gmane.comp.version-control.git
 note: .onion URLs require Tor: https://www.torproject.org/

code repositories for project(s) associated with this inbox:

	https://80x24.org/mirrors/git.git

AGPL code for this site: git clone https://public-inbox.org/public-inbox.git