Explicitly skip TAP tests under Meson if disabled

If the tap_tests option is disabled under Meson, the TAP tests are
currently not registered at all.  But this makes it harder to see what
is going on, why suddently there are fewer tests than before.

Instead, run testwrap with an option that marks the test as skipped.
That way, the total list and count of tests is constant whether the
option is enabled or not.

Reviewed-by: Andres Freund <andres@anarazel.de>
Discussion: https://www.postgresql.org/message-id/ad5ec96d-69ec-317b-a137-367ea5019b61@eisentraut.org
This commit is contained in:
Peter Eisentraut 2023-11-16 08:06:12 +01:00
parent 2e8a0edc2a
commit bc15a126bb
2 changed files with 8 additions and 2 deletions

View File

@ -3252,8 +3252,9 @@ foreach test_dir : tests
testport += 1
elif kind == 'tap'
testwrap_tap = testwrap_base
if not tap_tests_enabled
continue
testwrap_tap += ['--skip', 'TAP tests not enabled']
endif
test_command = [
@ -3293,7 +3294,7 @@ foreach test_dir : tests
test(test_dir['name'] / onetap_p,
python,
kwargs: test_kwargs,
args: testwrap_base + [
args: testwrap_tap + [
'--testgroup', test_dir['name'],
'--testname', onetap_p,
'--', test_command,

View File

@ -12,6 +12,7 @@ parser.add_argument('--srcdir', help='source directory of test', type=str)
parser.add_argument('--basedir', help='base directory of test', type=str)
parser.add_argument('--testgroup', help='test group', type=str)
parser.add_argument('--testname', help='test name', type=str)
parser.add_argument('--skip', help='skip test (with reason)', type=str)
parser.add_argument('test_command', nargs='*')
args = parser.parse_args()
@ -23,6 +24,10 @@ print('# executing test in {} group {} test {}'.format(
testdir, args.testgroup, args.testname))
sys.stdout.flush()
if args.skip is not None:
print('1..0 # Skipped: ' + args.skip)
sys.exit(0)
if os.path.exists(testdir) and os.path.isdir(testdir):
shutil.rmtree(testdir)
os.makedirs(testdir)