Hi, this patch series starts to parse TAP output generated by our tests when executing them via Meson. This has the benefit that Meson starts to understand skipped tests and reports how many subtests have been executed: ``` $ meson test t002* ninja: Entering directory `/home/pks/Development/git/build' 1/10 t0024-crlf-archive OK 0.17s 2 subtests passed 2/10 t0022-crlf-rename OK 0.18s 2 subtests passed 3/10 t0029-core-unsetenvvars SKIP 0.15s 4/10 t0023-crlf-am OK 0.18s 2 subtests passed 5/10 t0025-crlf-renormalize OK 0.21s 3 subtests passed 6/10 t0026-eol-config OK 0.25s 5 subtests passed 7/10 t0020-crlf OK 0.81s 36 subtests passed 8/10 t0028-working-tree-encoding OK 0.85s 22 subtests passed 9/10 t0021-conversion OK 3.45s 38 subtests passed 10/10 t0027-auto-crlf OK 26.35s 2600 subtests passed Ok: 9 Fail: 0 Skipped: 1 ``` This new feature is only enabled with Meson 1.8 and newer, which contains a bugfix that we have upstreamed [1] to make the TAP parser work in `meson test --interactive` mode. Despite the changes to Meson itself, this patch series also contains a couple of fixes for our test suite that caused us to not generate proper TAP output. Changes in v2: - Add a patch to fix an unexpectedly passing test on macOS. - A couple more fixes for broken TAP output. - Link to v1: https://lore.kernel.org/r/20250506-pks-meson-tap-v1-0-5aaab2942a4c@xxxxxx Changes in v3: - Split up the patch that silences output into multiple patches and rework them a bit. - Remove redirect that was retained by accident from an earlier version. - Slight rewording of a commit message. - Treat unexpected passes as failure in prove(1) and when executing the test directly. - Link to v2: https://lore.kernel.org/r/20250527-pks-meson-tap-v2-0-ae360f77786e@xxxxxx Thanks! Patrick [1]: https://github.com/mesonbuild/meson/pull/13980 --- Patrick Steinhardt (10): t: stop announcing prereqs t: silence output from `test_create_repo()` t9822: use prereq to check for ISO-8859-1 support t983*: use prereq to check for Python-specific git-b4(1) support t/test-lib: don't print shell traces to stdout t/test-lib: fix TAP format for BASH_XTRACEFD warning t7815: fix unexpectedly passing test on macOS test-lib: fail on unexpectedly passing tests meson: introduce kwargs variable for tests meson: parse TAP output generated by our tests contrib/credential/netrc/meson.build | 2 +- contrib/subtree/meson.build | 2 +- meson.build | 12 +++++++++ t/meson.build | 6 ++--- t/t0000-basic.sh | 39 +++++++++++++++------------- t/t0050-filesystem.sh | 30 +++++---------------- t/t1007-hash-object.sh | 2 +- t/t3600-rm.sh | 5 ---- t/t4000-diff-format.sh | 2 +- t/t4041-diff-submodule-option.sh | 22 +++++++++------- t/t4060-diff-submodule-option-diff-format.sh | 9 ++++--- t/t7401-submodule-summary.sh | 18 ++++++++----- t/t7815-grep-binary.sh | 2 +- t/t9500-gitweb-standalone-no-errors.sh | 16 +++++------- t/t9822-git-p4-path-encoding.sh | 13 +++++++--- t/t9835-git-p4-metadata-encoding-python2.sh | 24 +++++++++-------- t/t9836-git-p4-metadata-encoding-python3.sh | 24 +++++++++-------- t/t9903-bash-prompt.sh | 4 --- t/test-lib.sh | 18 ++++++++++--- 19 files changed, 133 insertions(+), 117 deletions(-) Range-diff versus v2: 1: b5ae3aba1ad < -: ----------- t: fix cases where output breaks TAP format -: ----------- > 1: 15702b96125 t: stop announcing prereqs -: ----------- > 2: 444a5e8a72f t: silence output from `test_create_repo()` -: ----------- > 3: dd24e16f93c t9822: use prereq to check for ISO-8859-1 support -: ----------- > 4: 5ea96164181 t983*: use prereq to check for Python-specific git-b4(1) support 2: 69d4b420eb9 = 5: 783cf673a22 t/test-lib: don't print shell traces to stdout 3: ec921bbb183 = 6: 726795c9a11 t/test-lib: fix TAP format for BASH_XTRACEFD warning 4: e463fb29a8a = 7: df1be586474 t7815: fix unexpectedly passing test on macOS -: ----------- > 8: e0b06f9ffcb test-lib: fail on unexpectedly passing tests 5: 58173827436 = 9: 0f34503b28b meson: introduce kwargs variable for tests 6: 1242bbf74f3 = 10: d28b9306b46 meson: parse TAP output generated by our tests --- base-commit: 845c48a16a7f7b2c44d8cb137b16a4a1f0140229 change-id: 20250429-pks-meson-tap-1eed604a02a3