Re: [BUG] git 2.24.0-rc1 t0500 on NonStop in Jenkins
- From
SZEDER Gábor <szeder.dev@gmail.com>
- Date
- Oct 29, 2019, 10:16 UTC
- Message-ID
- <20191029101615.GA24010@szeder.dev>
- In-Reply-To
- <027301d58da3$4a4996a0$dedcc3e0$@nexbridge.com>
On Mon, Oct 28, 2019 at 11:20:48AM -0400, Randall S. Becker wrote:
Show 25 quoted lines
> > > + test_i18ncmp expect out > > > --- expect 2019-10-28 14:11:40 +0000 > > > +++ out 2019-10-28 14:11:41 +0000 > > > @@ -1,4 +1,2 @@ > > > -Working hard: 33% (1/3)<CR> > > > -Working hard: 66% (2/3)<CR> > > > -Working hard: 100% (3/3)<CR> > > > -Working hard: 100% (3/3), done. > > > +Working hard: 0% (1/12884901888)<CR> > > > +Working hard: 0% (3/12884901888), done. > > > > Weird, this looks exactly like the big-endian test failure that was fixed in > > 2b6f6ea1bd (test-progress: fix test failures on big-endian systems, 2019-10- > > 20), but that is already in 2.24.0-rc1 (but not yet in -rc0). > > > > https://public-inbox.org/git/f1ce445e-6954-8e7b-2dca- > > 3a566ce689a5@physik.fu-berlin.de/ > > > > Is NonStop big or little-endian? Does t0500 pass without 2b6f6ea1bd? > > NonStop is big-endian. When t0500 is run from an interactive > terminal, it passes. This failure seems to be a result of being in a > disconnected terminal situation typical of Jenkins, not that the > test result makes any sense with that being the only difference. > t0500 did not exist in 2.23.0, our last build,
Didn't you build v2.24.0-rc0?
Show 8 quoted lines
> so I can't easily get > that answer. Our Jenkins is based off the master branch, so it's a > hard to revert in our pipeline without a serious amount of work - > that and without 2b6f6ea1bd, other things break if I remember from > August. > > Does the printf format use positional arguments (%digit$)? That has > known issues on the platform.
The output in question is formatted in display() in progress.c:124:
strbuf_addf(counters_sb,
"%3u%% (%"PRIuMAX"/%"PRIuMAX")%s", percent,
(uintmax_t)n, (uintmax_t)progress->total,
tp);where both 'n' and 'progress->total' are uint64_t, and 'PRIuMAX' is 'llu'. All of these are widely used throughout the code base.
> FYI: int/long are 32 bits, long long is 64 bits. 12884901888 is > 0x300000000, surprisingly.
It's not surprising, basically that's what 2b6f6ea1bd is all about.
Show 22 quoted lines
> > > error: last command exited with $?=1 > > > not ok 2 - progress display with total > > > # > > > # cat >expect <<-\EOF && > > > # Working hard: 33% (1/3)<CR> > > > # Working hard: 66% (2/3)<CR> > > > # Working hard: 100% (3/3)<CR> > > > # Working hard: 100% (3/3), done. > > > # EOF > > > # > > > # cat >in <<-\EOF && > > > # progress 1 > > > # progress 2 > > > # progress 3 > > > # EOF > > > # test-tool progress --total=3 "Working hard" <in 2>stderr && > > > # > > > # show_cr <stderr >out && > > > # test_i18ncmp expect out > > > # > > > >