Running tests with --tap causes those that skip to be treated as passing
Meson supports the GNU convention that an exit code of 77 means “skipped”. However, GLib's Meson build files run unit tests with --tap
, which is special-cased to not use the 77 convention. This causes the test output to claim:
OK: 256
FAIL: 0
SKIP: 0
TIMEOUT: 0
even when some tests are skipped. (See !466 (merged) for an example.)
--tap
was added in cbc7fbbf to make it easier to debug test failures, supposedly by including g_debug
and g_test_message
in the test output. Meson doesn't actually consume the TAP format, but it is a moderately human-readable format. I suggest either switching from --tap
to --verbose
(which includes roughly the same information in the log, just in a different format) or adding another flag which can be combined with --tap
to force the exit-77 convention.