Fix portability issue in TAP tests of psql for locales
Some locales use a comma as decimal separator (like Czech or French),
and psql's 001_basic.pl for \timing was not able to handle that
properly. This fixes the matching regexes to be able to handle both
comma and dot as possible decimal separators, as per a suggestion from
Andrew Dunstan.
psql tests were the only place with such a portability issue
(check-world passed here with a forced LANG/LANGUAGE). These tests are
new as of c0280bc
, so there is no need for a backpatch.
Reported-by: Pavel Stehule
Discussion: https://postgr.es/m/CAFj8pRBz8iQmd2aOaCLvO-rJY6vZr-h6Q0qvV0J+yb78J7uiaA@mail.gmail.com
This commit is contained in:
parent
4fff78f009
commit
ca899d98b4
|
@ -85,15 +85,15 @@ psql_like(
|
|||
'\timing on
|
||||
SELECT 1',
|
||||
qr/^1$
|
||||
^Time: \d+\.\d\d\d ms/m,
|
||||
^Time: \d+[.,]\d\d\d ms/m,
|
||||
'\timing with successful query');
|
||||
|
||||
# test \timing with query that fails
|
||||
{
|
||||
my ($ret, $stdout, $stderr) = $node->psql('postgres', "\\timing on\nSELECT error");
|
||||
isnt($ret, 0, '\timing with query error: query failed');
|
||||
like($stdout, qr/^Time: \d+\.\d\d\d ms/m, '\timing with query error: timing output appears');
|
||||
unlike($stdout, qr/^Time: 0\.000 ms/m, '\timing with query error: timing was updated');
|
||||
like($stdout, qr/^Time: \d+[.,]\d\d\d ms/m, '\timing with query error: timing output appears');
|
||||
unlike($stdout, qr/^Time: 0[.,]000 ms/m, '\timing with query error: timing was updated');
|
||||
}
|
||||
|
||||
# test that ENCODING variable is set and that it is updated when
|
||||
|
|
Loading…
Reference in New Issue