Use installed postgresql.conf.sample for GUC sanity TAP test
authorAndrew Dunstan <andrew@dunslane.net>
Sun, 13 Nov 2022 14:07:53 +0000 (09:07 -0500)
committerAndrew Dunstan <andrew@dunslane.net>
Sun, 13 Nov 2022 14:07:53 +0000 (09:07 -0500)
The current code looks for the sample file in the source directory, but
it seems better to test against the installed sample file.

Backpatch to release 15 where the test was introduced.

Discussion: https://postgr.es/m/73eea68e-3b6f-5f63-6024-25ed26b52016@dunslane.net

Reviewed by Tom Lane, Alvaro Herrera, Michael Paquier.

src/test/modules/test_misc/t/003_check_guc.pl

index 60459ef759e525d669aba2b77149bef2a0c5ee6f..1786cd1929946dddc12a557b712df2720f71c284 100644 (file)
@@ -33,10 +33,9 @@ my $not_in_sample = $node->safe_psql(
      ORDER BY 1");
 my @not_in_sample_array = split("\n", lc($not_in_sample));
 
-# TAP tests are executed in the directory of the test, in the source tree,
-# even for VPATH builds, so rely on that to find postgresql.conf.sample.
-my $rootdir     = "../../../..";
-my $sample_file = "$rootdir/src/backend/utils/misc/postgresql.conf.sample";
+# use the sample file from the temp install
+my $share_dir = $node->config_data('--sharedir');
+my $sample_file = "$share_dir/postgresql.conf.sample";
 
 # List of all the GUCs found in the sample file.
 my @gucs_in_file;