The autoconf system runs all tap tests in t/*.pl, but meson requires
enumerating them in ./meson.build.
This checks for and finds no missing tests in the current tree:
$ for pl in `find src contrib -path '*/t/*.pl'`; do base=${pl##*/}; dir=${pl%/*}; meson=${dir%/*}/meson.build; grep
"$base""$meson" >/dev/null || echo "$base is missing from $meson"; done
However, this finds two real problems and one false-positive with
missing regress/isolation tests:
$ for makefile in `find src contrib -name Makefile`; do for testname in `sed -r '/^(REGRESS|ISOLATION) =/!d; s///; :l;
/\\\\$/{s///;N; b l}; s/\n//g' "$makefile"`; do meson=${makefile%/Makefile}/meson.build; grep -Fw "$testname" "$meson"
>/dev/null|| echo "$testname is missing from $meson"; done; done
guc_privs is missing from src/test/modules/unsafe_tests/meson.build
oldextversions is missing from contrib/pg_stat_statements/meson.build
$(CF_PGP_TESTS) is missing from contrib/pgcrypto/meson.build
I also tried but failed to write something to warn if "meson test" was
run with a list of tests but without tmp_install. Help wanted.
I propose to put something like this into "SanityCheck".
--
Justin