Hi Richard and all, Attached is v3 of the patch series. Changes from v2:
Thanks so much for your careful work. I read through the changes and nothing problematic jumped out at me. (Trivial: I think it's conventional for us to use test instead of [, even when we're assuming a modern shell. I'll tweak that after.) However ... when I ran make check with the changes installed, the tap-merge-stdout-stderr test failed. Did it succeed for you? Before I delved into it, thought I'd check back. Below is the log I got. (I'm running on Rocky Linux 9, x86_64-linux, though I doubt that matters.) Thanks again, Karl am-test-lib.sh: Running from installcheck: no am-test-lib.sh: Test Protocol: none am-test-lib.sh: PATH = /u/karl/gnu/src/akarl/bin:/u/karl/gnu/src/akarl/t/ax:.:/u/karl/bin:/l/bin:/u/texlive/karl/Master/bin/x86_64-linux:/usr/local/gnu/emacs-21.4r9/bin:/usr/local/gnu/bin:/usr/local/bin:/usr/bin:/usr/sbin:/r/tug/home/tubprod/svn/misc:/u/texlive/karl/Master/tlpkg/bin:/r/tug/home/karl/bin ++ pwd /u/karl/gnu/src/akarl/t/tap-merge-stdout-stderr.dir + fetch_tap_driver + AM_TAP_AWK=gawk + export AM_TAP_AWK + get_shell_script tap-driver.sh tap-driver + am_source=tap-driver.sh + am_target=tap-driver + test '!' -f tap-driver + test x = xyes + cp -f /u/karl/gnu/src/akarl/lib/tap-driver.sh tap-driver + sed 10q tap-driver #! /bin/sh # Copyright (C) 2011-2025 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of + unset am_target am_source + cat + . tap-setup.sh ++ test -f ../../bin/automake ++ test -f ../../runtest ++ test -d ../../t ++ test '!' -f Makefile.am ++ mv Makefile.am Makefile.am~ ++ test -d ../tap-common-setup.dir ++ cp -fpR ../tap-common-setup.dir/Makefile ../tap-common-setup.dir/Makefile.am ../tap-common-setup.dir/Makefile.in ../tap-common-setup.dir/aclocal.m4 ../tap-common-setup.dir/compile ../tap-common-setup.dir/config.log ../tap-common-setup.dir/config.status ../tap-common-setup.dir/configure ../tap-common-setup.dir/configure.ac ../tap-common-setup.dir/depcomp ../tap-common-setup.dir/install-sh ../tap-common-setup.dir/missing . ++ fetch_tap_driver ++ AM_TAP_AWK=gawk ++ export AM_TAP_AWK ++ get_shell_script tap-driver.sh tap-driver ++ am_source=tap-driver.sh ++ am_target=tap-driver ++ test '!' -f tap-driver ++ rm -f tap-driver ++ test x = xyes ++ cp -f /u/karl/gnu/src/akarl/lib/tap-driver.sh tap-driver ++ sed 10q tap-driver #! /bin/sh # Copyright (C) 2011-2025 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of ++ unset am_target am_source ++ test -f Makefile.am~ ++ mv -f Makefile.am~ Makefile.am ++ echo 'TEST_LOG_DRIVER = $(srcdir)/tap-driver' ++ automake-1.17 --foreign -Werror -Wall Makefile ++ ./config.status Makefile config.status: creating Makefile ++ : + cat + chmod a+x all.test + run_make -O check + am__make_redirect_stdout=no + am__make_redirect_stderr=no + am__make_redirect_stdall=no + am__make_flags= + am__make_rc_exp=0 + am_make_rc=0 + test 2 -gt 0 + case $1 in + am__make_redirect_stdout=yes + shift + test 1 -gt 0 + case $1 in + break + using_gmake + case $am__using_gmake in + make --version -v + grep GNU GNU Make 4.4.1 License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html> + am__using_gmake=yes + return 0 + : + test x '!=' x + : exec make check + set +x make[2]: *** [Makefile:492: test-suite.log] Error 1 make[1]: *** [Makefile:627: check-TESTS] Error 2 make: *** [Makefile:823: check-am] Error 2 + am_make_rc=2 + test 2 -eq 253 + test no = yes + test yes = yes + cat stdout make check-TESTS make[1]: Entering directory '/u/karl/gnu/src/akarl/t/tap-merge-stdout-stderr.dir' make[2]: Entering directory '/u/karl/gnu/src/akarl/t/tap-merge-stdout-stderr.dir' ERROR: all.test 2 # OUT-OF-ORDER (expecting 1) ERROR: all.test 4 # OUT-OF-ORDER (expecting 2) ERROR: all.test 1 # OUT-OF-ORDER (expecting 3) ERROR: all.test 3 # OUT-OF-ORDER (expecting 4) # all.test: foo foo foo ============================================================================ Testsuite summary for tap-common-setup 1.0 ============================================================================ # TOTAL: 4 # PASS: 0 # SKIP: 0 # XFAIL: 0 # FAIL: 0 # XPASS: 0 # ERROR: 4 ============================================================================ See ./test-suite.log for debugging. ============================================================================ make[2]: Leaving directory '/u/karl/gnu/src/akarl/t/tap-merge-stdout-stderr.dir' make[1]: Leaving directory '/u/karl/gnu/src/akarl/t/tap-merge-stdout-stderr.dir' + test no = yes + case $am__make_rc_exp in + test 0 -ge 0 + test 0 -le 255 + test 2 -eq 0 + return 1 + am_exit_trap 1 + exit_status=1 + set +e + cd /u/karl/gnu/src/akarl + test none = tap + case $am_explicit_skips in + test 1 -eq 0 + keep_testdirs=yes + am_keeping_testdirs + case $keep_testdirs in + return 0 + set +x FAIL t/tap-merge-stdout-stderr.sh (exit status: 1)