On Tue, Oct 10, 2017 at 07:04:42PM +0200, Martin Ågren wrote: > On 10 October 2017 at 16:29, Jeff King <peff@xxxxxxxx> wrote: > > On Tue, Oct 10, 2017 at 10:10:19AM -0400, Jeff King wrote: > > > > it will randomly succeed or fail, depending on whether sed manages to > > read the input before the stdin terminal is closed. > > > > I'm not sure of an easy way to fix test-terminal, but we could work > > around it like this (which also uses "-p" to actually invoke the pager, > > and uses a pager that makes it clear when it's being run): > > > > diff --git a/t/t9002-column.sh b/t/t9002-column.sh > > index 9441145bf0..d322c3b745 100755 > > --- a/t/t9002-column.sh > > +++ b/t/t9002-column.sh > > @@ -180,14 +180,14 @@ EOF > > > > test_expect_success TTY '20 columns, mode auto, pager' ' > > cat >expected <<\EOF && > > -one seven > > -two eight > > -three nine > > -four ten > > -five eleven > > -six > > +paged:one seven > > +paged:two eight > > +paged:three nine > > +paged:four ten > > +paged:five eleven > > +paged:six > > EOF > > - test_terminal env PAGER="cat|cat" git column --mode=auto <lista >actual && > > + test_terminal env PAGER="sed s/^/paged:/" sh -c "git -p column --mode=auto <lista" >actual && > > test_cmp expected actual > > ' > > test_done > > Makes sense. FWIW, I don't see the flakyness with this. > > > All that said, I think I'd just as soon test a real command like "git > > tag", which doesn't care about reading from stdin. > > For reference for Kevin, in case you consider testing, e.g., git tag, > the main reason I referred to the test I posted as "hacky", was that I > just inserted it at a more-or-less random place in t7006. So it had to > play with `git reset` to avoid upsetting the later tests. It could > obviously go to the end instead, but I was too lazy to move it and > define a pager. Thanks Jeff and Martin, I will use your tips to build a test based on git tag instead.