aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Eisentraut <peter@eisentraut.org>2023-11-16 08:06:12 +0100
committerPeter Eisentraut <peter@eisentraut.org>2023-11-16 08:14:33 +0100
commitbc15a126bbab99aa12fe7138131c12d3674e2c94 (patch)
tree93df2e340a5794b83d2882470cbe7f69b1c7dcbc
parent2e8a0edc2a3321582d5da65690b0371654c7a44f (diff)
downloadpostgresql-bc15a126bbab99aa12fe7138131c12d3674e2c94.tar.gz
postgresql-bc15a126bbab99aa12fe7138131c12d3674e2c94.zip
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
-rw-r--r--meson.build5
-rwxr-xr-xsrc/tools/testwrap5
2 files changed, 8 insertions, 2 deletions
diff --git a/meson.build b/meson.build
index 47c8fcdc532..286d7e42698 100644
--- a/meson.build
+++ b/meson.build
@@ -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,
diff --git a/src/tools/testwrap b/src/tools/testwrap
index 7a64fe76a2d..d01e61051cb 100755
--- a/src/tools/testwrap
+++ b/src/tools/testwrap
@@ -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)