summaryrefslogtreecommitdiff
path: root/src/bin/scripts/t/020_createdb.pl
diff options
context:
space:
mode:
authorTom Lane2021-01-08 01:36:09 +0000
committerTom Lane2021-01-08 01:36:09 +0000
commit9ffe2278372d7549547176c23564a5b3404d072e (patch)
treee6a0ec1c1ed4231893ff2cb004fe37964647527b /src/bin/scripts/t/020_createdb.pl
parentb8d0cda53377515ac61357ec4a60e85ca873f486 (diff)
Adjust createdb TAP tests to work on recent OpenBSD.
We found last February that the error-case tests added by commit 008cf0409 failed on OpenBSD, because that platform doesn't really check locale names. At the time it seemed that that was only an issue for LC_CTYPE, but testing on a more recent version of OpenBSD shows that it's now equally lax about LC_COLLATE. Rather than dropping the LC_COLLATE test too, put back LC_CTYPE (reverting c4b0edb07), and adjust these tests to accept the different error message that we get if setlocale() doesn't reject a bogus locale name. The point of these tests is not really what the backend does with the locale name, but to show that createdb quotes funny locale names safely; so we're not losing test reliability this way. Back-patch as appropriate. Discussion: https://postgr.es/m/[email protected]
Diffstat (limited to 'src/bin/scripts/t/020_createdb.pl')
-rw-r--r--src/bin/scripts/t/020_createdb.pl14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/bin/scripts/t/020_createdb.pl b/src/bin/scripts/t/020_createdb.pl
index 89de674265a..983dbb1d37f 100644
--- a/src/bin/scripts/t/020_createdb.pl
+++ b/src/bin/scripts/t/020_createdb.pl
@@ -3,7 +3,7 @@ use warnings;
use PostgresNode;
use TestLib;
-use Test::More tests => 19;
+use Test::More tests => 22;
program_help_ok('createdb');
program_version_ok('createdb');
@@ -31,12 +31,20 @@ $node->command_checks_all(
1,
[qr/^$/],
[qr/^createdb: error: "foo'; SELECT '1" is not a valid encoding name/s],
- 'createdb with incorrect --lc-collate');
+ 'createdb with incorrect --encoding');
$node->command_checks_all(
[ 'createdb', '--lc-collate', "foo'; SELECT '1", 'foobar2' ],
1,
[qr/^$/],
[
- qr/^createdb: error: database creation failed: ERROR: invalid locale name/s
+ qr/^createdb: error: database creation failed: ERROR: invalid locale name|^createdb: error: database creation failed: ERROR: new collation \(foo'; SELECT '1\) is incompatible with the collation of the template database/s
],
'createdb with incorrect --lc-collate');
+$node->command_checks_all(
+ [ 'createdb', '--lc-ctype', "foo'; SELECT '1", 'foobar2' ],
+ 1,
+ [qr/^$/],
+ [
+ qr/^createdb: error: database creation failed: ERROR: invalid locale name|^createdb: error: database creation failed: ERROR: new LC_CTYPE \(foo'; SELECT '1\) is incompatible with the LC_CTYPE of the template database/s
+ ],
+ 'createdb with incorrect --lc-ctype');