pg_dump test: Make concatenated create_sql commands more readable

When the pg_dump 002_pg_dump.pl test generates the command to load the
schema, it does

    # Add terminating semicolon
    $create_sql{$test_db} .= $tests{$test}->{create_sql} . ";";

In some cases, this creates a duplicate semicolon, but more
importantly, this doesn't add any newline.  So if you look at the
result in either the server log or in
tmp_check/log/regress_log_002_pg_dump, it looks like a complete mess.
This patch makes the output look cleaner for manual inspection: add
semicolon only if necessary, and add two newlines.

Discussion: https://www.postgresql.org/message-id/flat/d6aec95a-8729-43cc-2578-f2a5e46640e0%40enterprisedb.com
This commit is contained in:
Peter Eisentraut 2022-10-31 13:59:57 +01:00
parent a73952b795
commit 6e10631d1e
1 changed files with 6 additions and 2 deletions

View File

@ -3984,8 +3984,12 @@ foreach my $test (
next;
}
# Add terminating semicolon
$create_sql{$test_db} .= $tests{$test}->{create_sql} . ";";
# Normalize command ending: strip all line endings, add
# semicolon if missing, add two newlines.
my $create_sql = $tests{$test}->{create_sql};
chomp $create_sql;
$create_sql .= ';' unless substr($create_sql, -1) eq ';';
$create_sql{$test_db} .= $create_sql . "\n\n";
}
}