From 777f50b9b5822d1058c59fc2ee1d1a7e9c766bf8 Mon Sep 17 00:00:00 2001 From: Thomas Munro Date: Sat, 31 Aug 2024 14:32:08 +1200 Subject: [PATCH] Stabilize 039_end_of_wal test. The first test was sensitive to the insert LSN after setting up the catalogs, which depended on environmental things like the locales on the OS and usernames. Switch to a new WAL file before the first test, as a simple way to put every computer into the same state. Back-patch to all supported releases. Reported-by: Anton Voloshin Reported-by: Nathan Bossart Reviewed-by: Tom Lane Reviewed-by: Nathan Bossart Discussion: https://postgr.es/m/b26aeac2-cb6d-4633-a7ea-945baae83dcf%40postgrespro.ru --- src/test/recovery/t/039_end_of_wal.pl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/test/recovery/t/039_end_of_wal.pl b/src/test/recovery/t/039_end_of_wal.pl index b3b813d425d..88fe92a36f4 100644 --- a/src/test/recovery/t/039_end_of_wal.pl +++ b/src/test/recovery/t/039_end_of_wal.pl @@ -251,6 +251,12 @@ $WAL_BLOCK_SIZE = get_int_setting($node, 'wal_block_size'); $TLI = $node->safe_psql('postgres', "SELECT timeline_id FROM pg_control_checkpoint();"); +# Initial LSN may vary across systems due to different catalog contents set up +# by initdb. Switch to a new WAL file so all systems start out in the same +# place. The first test depends on trailing zeroes on a page with a valid +# header. +$node->safe_psql('postgres', "SELECT pg_switch_wal();"); + my $end_lsn; my $prev_lsn;