Check for tabs in postgresql.conf.sample.
authorNathan Bossart <nathan@postgresql.org>
Tue, 18 Nov 2025 16:28:36 +0000 (10:28 -0600)
committerNathan Bossart <nathan@postgresql.org>
Tue, 18 Nov 2025 16:28:36 +0000 (10:28 -0600)
The previous commit updated this file to use spaces instead of
tabs.  This commit adds a test to ensure that no new tabs are
added.

Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Reviewed-by: Chao Li <li.evan.chao@gmail.com>
Discussion: https://postgr.es/m/aReNUKdMgKxLqmq7%40nathan

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

index 51349e98e931380976578951d4986f9084e535d1..6872b1abde94387b79739e8ea0c3b244a4024f7e 100644 (file)
@@ -44,13 +44,21 @@ my $sample_file = "$share_dir/postgresql.conf.sample";
 # List of all the GUCs found in the sample file.
 my @gucs_in_file;
 
+# List of all lines with tabs in the sample file.
+my @lines_with_tabs;
+
 # Read the sample file line-by-line, checking its contents to build a list
 # of everything known as a GUC.
 my $num_tests = 0;
+my $line_num = 0;
 open(my $contents, '<', $sample_file)
   || die "Could not open $sample_file: $!";
 while (my $line = <$contents>)
 {
+   $line_num++;
+   push @lines_with_tabs, $line_num
+     if $line =~ /\t/;
+
    # Check if this line matches a GUC parameter:
    # - Each parameter is preceded by "#", but not "# " in the sample
    # file.
@@ -97,6 +105,8 @@ my @sample_intersect = grep($not_in_sample_hash{$_}, @gucs_in_file);
 is(scalar(@sample_intersect),
    0, "no parameters marked as NOT_IN_SAMPLE in postgresql.conf.sample");
 
+is(scalar(@lines_with_tabs), 0, "no lines with tabs in postgresql.conf.sample");
+
 # These would log some information only on errors.
 foreach my $param (@missing_from_file)
 {
@@ -116,5 +126,9 @@ foreach my $param (@sample_intersect)
        "found GUC $param in postgresql.conf.sample, marked as NOT_IN_SAMPLE\n"
    );
 }
+foreach my $param (@lines_with_tabs)
+{
+   print("found tab in line $param in postgresql.conf.sample\n");
+}
 
 done_testing();