diff options
Diffstat (limited to 'src/test/isolation/meson.build')
-rw-r--r-- | src/test/isolation/meson.build | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/src/test/isolation/meson.build b/src/test/isolation/meson.build new file mode 100644 index 0000000..a4439e8 --- /dev/null +++ b/src/test/isolation/meson.build @@ -0,0 +1,74 @@ +# Copyright (c) 2022-2023, PostgreSQL Global Development Group + +# pg_regress_c helpfully provided by regress/meson.build + +isolation_sources = pg_regress_c + files( + 'isolation_main.c', +) + +isolationtester_sources = files( + 'isolationtester.c', +) + +spec_scanner = custom_target('specscanner', + input: 'specscanner.l', + output: 'specscanner.c', + command: flex_cmd, +) +isolationtester_sources += spec_scanner +generated_sources += spec_scanner + +spec_parser = custom_target('specparse', + input: 'specparse.y', + kwargs: bison_kw, +) +isolationtester_sources += spec_parser +generated_sources += spec_parser.to_list() + +if host_system == 'windows' + isolation_sources += rc_bin_gen.process(win32ver_rc, extra_args: [ + '--NAME', 'pg_isolation_regress', + '--FILEDESC', 'pg_isolation_regress - multi-client test driver',]) +endif + +pg_isolation_regress = executable('pg_isolation_regress', + isolation_sources, + c_args: pg_regress_cflags, + include_directories: pg_regress_inc, + dependencies: frontend_code, + kwargs: default_bin_args + { + 'install_dir': dir_pgxs / 'src/test/isolation', + }, +) +bin_targets += pg_isolation_regress + + +if host_system == 'windows' + isolationtester_sources += rc_bin_gen.process(win32ver_rc, extra_args: [ + '--NAME', 'isolationtester', + '--FILEDESC', 'isolationtester - multi-client test driver',]) +endif + +isolationtester = executable('isolationtester', + isolationtester_sources, + include_directories: include_directories('.'), + dependencies: [frontend_code, libpq], + kwargs: default_bin_args + { + 'install_dir': dir_pgxs / 'src/test/isolation', + }, +) +bin_targets += isolationtester + +tests += { + 'name': 'isolation', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'isolation': { + 'schedule': files('isolation_schedule'), + 'test_kwargs': { + 'priority': 40, + 'timeout': 1000, + }, + 'dbname': 'isolation_regression', + }, +} |