diff --git a/contrib/test_decoding/Makefile b/contrib/test_decoding/Makefile index 0111124399a..a7f7b7ae789 100644 --- a/contrib/test_decoding/Makefile +++ b/contrib/test_decoding/Makefile @@ -6,9 +6,15 @@ PGFILEDESC = "test_decoding - example of a logical decoding output plugin" REGRESS = ddl xact rewrite toast permissions decoding_in_xact \ decoding_into_rel binary prepared replorigin time messages \ repack spill slot truncate stream stats twophase twophase_stream + +# slot_creation_error terminates another backend, whose FATAL message can be +# lost on Windows, making the test unstable there. +# See https://postgr.es/m/088AB35D-0860-494A-A9CF-8B301543AA51@yandex-team.ru +SLOT_CREATION_TST = $(if $(filter win32,$(PORTNAME)),,slot_creation_error) + ISOLATION = mxact delayed_startup ondisk_startup concurrent_ddl_dml \ oldest_xmin snapshot_transfer subxact_without_top concurrent_stream \ - twophase_snapshot slot_creation_error catalog_change_snapshot \ + twophase_snapshot $(SLOT_CREATION_TST) catalog_change_snapshot \ skip_snapshot_restore invalidation_distribution parallel_session_origin REGRESS_OPTS = --temp-config $(top_srcdir)/contrib/test_decoding/logical.conf diff --git a/contrib/test_decoding/meson.build b/contrib/test_decoding/meson.build index ac655853d26..dbc0ef0f63e 100644 --- a/contrib/test_decoding/meson.build +++ b/contrib/test_decoding/meson.build @@ -16,6 +16,29 @@ test_decoding = shared_module('test_decoding', ) contrib_targets += test_decoding +test_decoding_isolation = [ + 'mxact', + 'delayed_startup', + 'ondisk_startup', + 'catalog_change_snapshot', + 'concurrent_ddl_dml', + 'oldest_xmin', + 'snapshot_transfer', + 'subxact_without_top', + 'concurrent_stream', + 'twophase_snapshot', + 'skip_snapshot_restore', + 'invalidation_distribution', + 'parallel_session_origin', +] + +# slot_creation_error terminates another backend, whose FATAL message can be +# lost on Windows, making the test unstable there. +# See https://postgr.es/m/088AB35D-0860-494A-A9CF-8B301543AA51@yandex-team.ru +if host_system != 'windows' + test_decoding_isolation += 'slot_creation_error' +endif + tests += { 'name': 'test_decoding', 'sd': meson.current_source_dir(), @@ -51,22 +74,7 @@ tests += { 'runningcheck': false, }, 'isolation': { - 'specs': [ - 'mxact', - 'delayed_startup', - 'ondisk_startup', - 'catalog_change_snapshot', - 'concurrent_ddl_dml', - 'oldest_xmin', - 'snapshot_transfer', - 'subxact_without_top', - 'concurrent_stream', - 'twophase_snapshot', - 'slot_creation_error', - 'skip_snapshot_restore', - 'invalidation_distribution', - 'parallel_session_origin', - ], + 'specs': test_decoding_isolation, 'regress_args': [ '--temp-config', files('logical.conf'), ], diff --git a/src/test/modules/injection_points/Makefile b/src/test/modules/injection_points/Makefile index 136f0f77951..1d7d4d66d11 100644 --- a/src/test/modules/injection_points/Makefile +++ b/src/test/modules/injection_points/Makefile @@ -14,6 +14,11 @@ EXTRA_INSTALL = contrib/test_decoding REGRESS = injection_points hashagg reindex_conc vacuum REGRESS_OPTS = --dlpath=$(top_builddir)/src/test/regress +# wait_cleanup terminates another backend, whose FATAL message can be lost +# on Windows, making the test unstable there. +# See https://postgr.es/m/088AB35D-0860-494A-A9CF-8B301543AA51@yandex-team.ru +WAIT_CLEANUP_TST = $(if $(filter win32,$(PORTNAME)),,wait_cleanup) + ISOLATION = basic \ inplace \ reindex_concurrently_deferred \ @@ -27,7 +32,7 @@ ISOLATION = basic \ ri_fastpath_reindex \ ri_fastpath_snapshot \ syscache-update-pruned \ - wait_cleanup \ + $(WAIT_CLEANUP_TST) \ heap_lock_update \ on_conflict_probe_window diff --git a/src/test/modules/injection_points/meson.build b/src/test/modules/injection_points/meson.build index b74ea0f0ca1..b4a0079484b 100644 --- a/src/test/modules/injection_points/meson.build +++ b/src/test/modules/injection_points/meson.build @@ -26,6 +26,32 @@ test_install_data += files( 'injection_points--1.0.sql', ) +injection_points_isolation = [ + 'basic', + 'inplace', + 'reindex_concurrently_deferred', + 'repack', + 'repack_commit_race', + 'repack_decode', + 'repack_dropped', + 'repack_missingval', + 'repack_temporal', + 'repack_temporal_multirange', + 'repack_toast', + 'ri_fastpath_reindex', + 'ri_fastpath_snapshot', + 'syscache-update-pruned', + 'heap_lock_update', + 'on_conflict_probe_window', +] + +# wait_cleanup terminates another backend, whose FATAL message can be lost +# on Windows, making the test unstable there. +# See https://postgr.es/m/088AB35D-0860-494A-A9CF-8B301543AA51@yandex-team.ru +if host_system != 'windows' + injection_points_isolation += 'wait_cleanup' +endif + tests += { 'name': 'injection_points', 'sd': meson.current_source_dir(), @@ -42,25 +68,7 @@ tests += { 'runningcheck': false, }, 'isolation': { - 'specs': [ - 'basic', - 'inplace', - 'reindex_concurrently_deferred', - 'repack', - 'repack_commit_race', - 'repack_decode', - 'repack_dropped', - 'repack_missingval', - 'repack_temporal', - 'repack_temporal_multirange', - 'repack_toast', - 'ri_fastpath_reindex', - 'ri_fastpath_snapshot', - 'syscache-update-pruned', - 'wait_cleanup', - 'heap_lock_update', - 'on_conflict_probe_window', - ], + 'specs': injection_points_isolation, 'runningcheck': false, # see syscache-update-pruned # Some tests wait for all snapshots, so avoid parallel execution 'runningcheck-parallel': false,