Add test for checking the line length of --help output
authorPeter Eisentraut <peter@eisentraut.org>
Fri, 6 Oct 2023 09:52:05 +0000 (11:52 +0200)
committerPeter Eisentraut <peter@eisentraut.org>
Fri, 6 Oct 2023 09:56:19 +0000 (11:56 +0200)
There was some discussion what the line length should be.  Most output
currently clearly targets around 80 columns, but the maximum in use
currently is 95, so we set that as the current maximum.  This just
ensures that there is some guidance and there are no wild deviations.

based on patch by Atsushi Torikoshi <torikoshia@oss.nttdata.com>

Discussion: https://www.postgresql.org/message-id/flat/50ca8ff35a8dd8f9ec89963b503571a7@oss.nttdata.com

src/test/perl/PostgreSQL/Test/Utils.pm

index d66fe1cf453fa72c70bc0321f5f7fb9c2fb05765..cd86897580ca945a70434d2001a90acec60564a6 100644 (file)
@@ -884,6 +884,15 @@ sub program_help_ok
    ok($result, "$cmd --help exit code 0");
    isnt($stdout, '', "$cmd --help goes to stdout");
    is($stderr, '', "$cmd --help nothing to stderr");
+
+   # This value isn't set in stone, it reflects the current
+   # convention in use.  Most output actually tries to aim for 80.
+   my $max_line_length = 95;
+   my @long_lines = grep { length > $max_line_length } split /\n/, $stdout;
+   is(scalar @long_lines, 0, "$cmd --help maximum line length")
+     or diag("These lines are too long (>$max_line_length):\n",
+       join("\n", @long_lines));
+
    return;
 }