On February 21, 2019 15:00, I wrote: > To: 'Junio C Hamano' <gitster@xxxxxxxxx> > Cc: git@xxxxxxxxxxxxxxx; 'Johannes Schindelin' > <johannes.schindelin@xxxxxx>; 'Duy Nguyen' <pclouds@xxxxxxxxx> > Subject: RE: [ANNOUNCE] Git v2.21.0-rc2 > > On February 21, 2019 10:55, I wrote: > > On February 20, 2019 14:42, Junio C Hamano wrote: > > > "Randall S. Becker" <rsbecker@xxxxxxxxxxxxx> writes: > > > > > > > On February 19, 2019 18:29, Junio C Hamano wrote: > > > >> A release candidate Git v2.21.0-rc2 is now available for testing > > > >> at the usual places. It is comprised of 474 non-merge commits > > > >> since v2.20.0, contributed by 61 people, 16 of which are new faces. > > > > > > > > Thanks. t5562 works properly on NonStop (3 tests under various loads). > > > > I am starting a full regression test now - see you in two days or > > > > so with a full report. > > > > > > Thanks. In the end I ended up doing the following: > > > > > > - kept most of your "feed NULs generated from a helper program via > > > pipe, instead of reading from /dev/zero" patch, > > > > > > - replaced the helper program used in the above with the test-tool > > > one by Dscho, > > > > > > - used Max's "do not reuse the output file---the background writer > > > about to die may still have it open when the next test starts", > > > > > > - used Max's "when testing the program with overly large input > > > declared with content-length, do not have to feed from /dev/zero; > > > /dev/null suffices as a mistaken program attempting to read would > > > die when seeing EOF anyway" patch to reduce one mention of > > > /dev/zero (or one pipe from the helper output) further. > > > > > > Hopefully Dscho's Azure thing would also be happy with one less use > > > of Perl script. > > > > > > As I said earlier, a few places in t/ still mention /dev/zero and I > > > think it is a real bug on platforms without /dev/zero in t4153: > > > > > > $ git grep -h dev/zero t/ > > > test_must_fail test_terminal git am --3way </dev/zero && > > > test_must_fail test_terminal git am --reject </dev/zero > > > && > > > > > > Curiously, applying the attached patch and running the test on Linux > > > would notice that we do not have such a device file, and the use of > > > test_must_fail does *not* make it a-OK [*]. I am not sure why you > > > are not getting hit by the same issue. > > > > > > Side note: test_must_fail is to ensure that the command > > > exits in a controlled way without segfault, so at the first > > > glance, replacing /dev/zero with something nonsensical and > > > nonexistent ought to make the command pass, but that is not > > > the case. The shell notices redirection failure and aborts > > > the &&-chain. This behaviour matches what we want, so I > > > won't complain ;-) > > > > > > Another mention of /dev/zero appears in t/helper/test-sha1.sh (not > > > to be confused with t/helper/test-sha1.c). This seems to be run > > > only with an explicit "make -C t/helper check-sha1" request, so > > > perhaps nobody on your platform ran it to get hit by it. I wonder > > > if anybody runs this on any platform, to be honest, though. Duy > > > Cc'ed as the last person to touch that particular target---yes, I > > > know I was guilty of introducing it in b65bc21e ("Makefile: add > > > framework to verify and > > bench sha1 implementations.", 2006-06-24). > > > > > > t/t4153-am-resume-override-opts.sh | 4 ++-- > > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > > > diff --git a/t/t4153-am-resume-override-opts.sh b/t/t4153-am-resume- > > > override-opts.sh index 8ea22d1bcb..29ef22c94f 100755 > > > --- a/t/t4153-am-resume-override-opts.sh > > > +++ b/t/t4153-am-resume-override-opts.sh > > > @@ -40,7 +40,7 @@ test_expect_success TTY '--3way overrides --no- > > 3way' ' > > > > > > # Applying side1 with am --3way will succeed due to the threeway- > > > merge. > > > # Applying side2 will fail as --3way does not apply to it. > > > - test_must_fail test_terminal git am --3way </dev/zero && > > > + test_must_fail test_terminal git am --3way </dev/zarro && > > > test_path_is_dir .git/rebase-apply && > > > test side1 = "$(cat file2)" > > > ' > > > @@ -94,7 +94,7 @@ test_expect_success TTY '--reject overrides --no- > > reject' > > > ' > > > test_path_is_dir .git/rebase-apply && > > > test_path_is_missing file.rej && > > > > > > - test_must_fail test_terminal git am --reject </dev/zero && > > > + test_must_fail test_terminal git am --reject </dev/zarro && > > > test_path_is_dir .git/rebase-apply && > > > test_path_is_file file.rej > > > ' > > > > Here's what we get with this patch (and without it): > > > > /home/git/git/t: sh t4153-am-resume-override-opts.sh ok 1 - setup ok 2 > > # skip --3way overrides --no-3way (missing TTY) ok 3 - --no-quiet > > overrides > -- > > quiet ok 4 - --signoff overrides --no-signoff ok 5 # skip --reject > overrides -- > > no-reject (missing TTY) # passed all 5 test(s) > > 1..5 > > > > Technically, we have TTY, but not that dev. The TTYs are not under > /dev/tty*, > > however. > > t9020 subtests 1,2,5,6 failed - Not new. unsurprising as there is no SVN or > perl with SVN module on platform. It might be useful to have a detection to > skip of Perl SVN is not present. While this is a bit of a hack, it might be useful for skipping t9020 in environments where the svn.remote package is not installed. I can make this into a patch if this style is reasonable - guessing probably not and that the REMOTE_SVN test should go elsewhere if it is called that. diff --git a/t/t9020-remote-svn.sh b/t/t9020-remote-svn.sh index 6fca08e5e3..31edf99371 100755 --- a/t/t9020-remote-svn.sh +++ b/t/t9020-remote-svn.sh @@ -12,6 +12,12 @@ then test_done fi +python -c "import svn.remote" 2>/dev/null >/dev/null +if [ $? -eq 0 ]; then + test_set_prereq REMOTE_SVN +fi +if ! test_have_prereq REMOTE_SVN +then + skip_all='skipping remote-svn tests, python svn.remote not available' + test_done +fi + # Override svnrdump with our simulator PATH="$HOME:$PATH" export PATH PYTHON_PATH GIT_BUILD_DIR