diff options
| author | Andrew Dunstan <andrew@dunslane.net> | 2025-11-21 17:08:46 -0500 |
|---|---|---|
| committer | Andrew Dunstan <andrew@dunslane.net> | 2025-11-21 17:12:22 -0500 |
| commit | 51da766494dcc84b6f8d793ecaa064363a9243c2 (patch) | |
| tree | 48ef837e1d5a8041052b0bdbe394a965a22835d7 | |
| parent | 51364113d5a00e53f9447de1f7056c440e0892d5 (diff) | |
Add 'make check-tests' behavior to the meson based buildsHEADorigin/masterorigin/HEADmaster
There was no easy way to run specific tests in the meson based builds.
Author: Nazir Bilal Yavuz <byavuz81@gmail.com>
Reviewed-by: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
Reviewed-by: Jian He <jian.universality@gmail.com>
Discussion: postgr.es/m/CAExHW5tK-QqayUN0%2BN3MF5bjV6vLKDCkRuGwoDJwc7vGjwCygQ%40mail.gmail.com
| -rw-r--r-- | meson.build | 12 | ||||
| -rwxr-xr-x | src/tools/testwrap | 10 |
2 files changed, 16 insertions, 6 deletions
diff --git a/meson.build b/meson.build index c1e17aa3040..6e7ddd74683 100644 --- a/meson.build +++ b/meson.build @@ -3679,11 +3679,9 @@ foreach test_dir : tests '--dbname', dbname, ] + t.get('regress_args', []) - test_selection = [] - if t.has_key('schedule') - test_selection += ['--schedule', t['schedule'],] - endif + test_schedule = t.get('schedule', []) + test_selection = [] if kind == 'isolation' test_selection += t.get('specs', []) else @@ -3707,12 +3705,13 @@ foreach test_dir : tests testwrap_base, '--testgroup', test_group, '--testname', kind, + '--schedule', test_schedule, + '--tests', test_selection, '--', test_command_base, '--outputdir', test_output, '--temp-instance', test_output / 'tmp_check', '--port', testport.to_string(), - test_selection, ], suite: test_group, kwargs: test_kwargs, @@ -3727,10 +3726,11 @@ foreach test_dir : tests testwrap_base, '--testgroup', test_group_running, '--testname', kind, + '--schedule', test_schedule, + '--tests', test_selection, '--', test_command_base, '--outputdir', test_output_running, - test_selection, ], is_parallel: t.get('runningcheck-parallel', true), suite: test_group_running, diff --git a/src/tools/testwrap b/src/tools/testwrap index 02f1951ad7e..e91296ecd15 100755 --- a/src/tools/testwrap +++ b/src/tools/testwrap @@ -12,6 +12,8 @@ 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('--schedule', help='schedule tests', nargs='*') +parser.add_argument('--tests', help='tests', nargs='*') parser.add_argument('--skip', help='skip test (with reason)', type=str) parser.add_argument('--pg-test-extra', help='extra tests', type=str) parser.add_argument('test_command', nargs='*') @@ -51,6 +53,14 @@ env_dict = {**os.environ, if "PG_TEST_EXTRA" not in env_dict and args.pg_test_extra: env_dict["PG_TEST_EXTRA"] = args.pg_test_extra +if "TESTS" in env_dict: + args.test_command += env_dict["TESTS"].split() +else: + if args.schedule: + args.test_command += ['--schedule', ' '.join(args.schedule)] + if args.tests: + args.test_command.extend(args.tests) + sp = subprocess.Popen(args.test_command, env=env_dict, stdout=subprocess.PIPE) # Meson categorizes a passing TODO test point as bad # (https://github.com/mesonbuild/meson/issues/13183). Remove the TODO |
