From: Simon McVittie Date: Fri, 15 Jul 2022 00:37:47 +0000 (+0100) Subject: test: Work around TAP test regression in Meson 0.63.0 X-Git-Tag: dbus-1.15.0~29 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=57e21c03581378256495e9824773c6f20c6197cc;p=thirdparty%2Fdbus.git test: Work around TAP test regression in Meson 0.63.0 With Meson 0.63.0, detailed output of TAP tests is not logged, and the test deadlocks if the stderr pipe fills up. I'm hoping this will be fixed before 0.63.1, but in the meantime we can work around it by falling back to the 'exitcode' protocol: this means we lose machine-readable detailed test results, but at least our tests pass. See https://github.com/mesonbuild/meson/issues/10577 and https://github.com/mesonbuild/meson/issues/10563 for details of the Meson regression. Signed-off-by: Simon McVittie --- diff --git a/test/meson.build b/test/meson.build index e63609008..e310e9db8 100644 --- a/test/meson.build +++ b/test/meson.build @@ -101,6 +101,13 @@ xdgdir = custom_target('gen-xdgdir', installed_tests = [] +if meson.version().version_compare('>=0.63') + # Work around https://github.com/mesonbuild/meson/issues/10577 + test_protocol = 'exitcode' +else + test_protocol = 'tap' +endif + ############################################################################### # Dbus testutils @@ -575,7 +582,7 @@ foreach test: tests test_exe, args: ['--tap'], env: test_env, - protocol: 'tap', + protocol: test_protocol, suite: suites, timeout: timeout, ) diff --git a/test/name-test/meson.build b/test/name-test/meson.build index 8e26e1b7d..969636ad7 100644 --- a/test/name-test/meson.build +++ b/test/name-test/meson.build @@ -78,7 +78,7 @@ if embedded_tests test_exe, ], env: test_env, - protocol: 'tap', + protocol: test_protocol, suite: suites, timeout: timeout, ) @@ -89,14 +89,14 @@ if embedded_tests test('run-test', find_program('run-test.sh'), env: test_env, - protocol: 'tap', + protocol: test_protocol, suite: 'name-test', ) test('run-test-systemserver', find_program('run-test-systemserver.sh'), env: test_env, - protocol: 'tap', + protocol: test_protocol, suite: 'name-test', ) endif