Re: [PATCH v2 1/2] test-lib: add a function to compare an expection with stdout from a command

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Apr 16, 2016 at 11:07:02PM -0400, Eric Sunshine wrote:

> > test_stdout accepts an expection and a command to execute.  It will execute
> > the command and then compare the stdout from that command to an expectation.
> > If the expectation is not met, a mock diff output is written to stderr.
> 
> I wonder if this deserves more flexibility by accepting a comparison
> operator, such as = and !=, similar to test_line_count()? Although, I
> suppose such functionality could be added later if deemed useful.

IMHO the funny syntax would outweigh the readability benefits. Unlike
test_line_count(), which is abstracting a portability solution, this is
mostly just about trying to save a few lines.

Though I do actually find that:

  test_stdout false git rev-parse --whatever

isn't great, because there's no syntactic separator between the expected
output and the actual command to run. So I dunno, maybe it would be
better as:

  test_stdout false = git rev-parse --whatever

and then you get "!=" for free later on if you want it.

We could also do:

  test_stdout git rev-parse --whatever <<-\EOF
  false
  EOF

which is more robust for multi-line output, but I think part of the
point is to keep these as simple one-liners. You're not buying all that
much over:

  cat >expect <<-\EOF &&
  false
  EOF
  git rev-parse --whatever >actual &&
  test_cmp expect actual

Though I do admit I've considered such a helper for some tests where
that pattern is repeated ad nauseam.

> > Based-on-a-patch-by: Jeff King <peff@xxxxxxxx>
> 
> Since Peff wrote the actual code[1], it might be worthwhile to give
> him authorship by prepending the commit message with a "From: Jeff
> King <peff@xxxxxxxx>" header.

Michael contacted me offline asking how to credit, and I actually
suggested the "Based-on" route. I'm OK with it either way.

And for the record, my contribution is:

  Signed-off-by: Jeff King <peff@xxxxxxxx>

in case there are any DCO questions.

-Peff
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]