summaryrefslogtreecommitdiffstats
path: root/src/test/isolation/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/isolation/meson.build')
-rw-r--r--src/test/isolation/meson.build74
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',
+ },
+}