Fix 003_check_guc.pl when loading modules with custom GUCs
authorMichael Paquier <[email protected]>
Thu, 2 Nov 2023 03:38:05 +0000 (12:38 +0900)
committerMichael Paquier <[email protected]>
Thu, 2 Nov 2023 03:38:05 +0000 (12:38 +0900)
The test missed that custom GUCs need to be ignored from the list of
parameters that can exist in postgresql.conf.sample.  This caused the
test to fail on a server where such a module is loaded, when using
EXTRA_INSTALL and TEMP_CONFIG, for instance.

Author: Anton A. Melnikov
Discussion: https://postgr.es/m/fc5509ce-5144-4dac-8d13-21793da44fc5@postgrespro.ru
Backpatch-through: 15

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

index 4fd6d03b9e67866c0e67df5329c0f4a1a0b21f68..a5d680e82e78e7cdb8b27ceb0beb1367e900285b 100644 (file)
@@ -14,12 +14,13 @@ $node->start;
 # Grab the names of all the parameters that can be listed in the
 # configuration sample file.  config_file is an exception, it is not
 # in postgresql.conf.sample but is part of the lists from guc_tables.c.
+# Custom GUCs loaded by extensions are excluded.
 my $all_params = $node->safe_psql(
        'postgres',
        "SELECT name
      FROM pg_settings
    WHERE NOT 'NOT_IN_SAMPLE' = ANY (pg_settings_get_flags(name)) AND
-       name <> 'config_file'
+       name <> 'config_file' AND category <> 'Customized Options'
      ORDER BY 1");
 # Note the lower-case conversion, for consistency.
 my @all_params_array = split("\n", lc($all_params));