From: | kingter wang <kingter(at)gmail(dot)com> |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Cc: | Michael Paquier <michael(at)otacoo(dot)com>, "tew(at)vmware(dot)com" <tew(at)vmware(dot)com> |
Subject: | pg_rewind test could not run in 'remote' mode |
Date: | 2015-04-07 08:34:15 |
Message-ID: | CADGVuCpGoXDpbRYmOkqJpxcHnUVA7j8qetxgREeCuvJL4t1AKg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
Logged by: Kingter Wang
Email address: kingter(at)gmail(dot)com
PostgreSQL version: 9.5
Operating system: RHEL 6.4 64bit
Description:
pg_rewind TAP tests always run in 'local' mode, even when specify test mode
to 'remote’.
Symptom
========
See pg_rewind test output on console:
The pg_rewind test still run in local mode, even when passed test mode as
‘remote’:
$cd src/bin/pg_rewind/
$make check
...
... prove -I ../../../src/test/perl/ --verbose t/*.pl :: local
t/001_basic.pl .......
1..4
ok 1 - pg_rewind local
...
...
All tests successful.
...
...prove -I ../../../src/test/perl/ --verbose t/*.pl :: remote
t/001_basic.pl .......
1..4
ok 1 - pg_rewind local
...
Analysis:
=======
The issue should be due to wrongly compare string for equality with '=='
operator in perl script below.
In perl, to compare string for equality, should use 'eq' operator rather
than '==' which used for
compare equality of number. See details in perl document:
http://perlmeme.org/howtos/syntax/comparing_values.html
src/bin/pg_rewind/RewindTest.pm:
sub run_pg_rewind
{
...
if ($test_mode == "local")
{
...
}
elsif ($test_mode == "remote")
{
...
}
}
attached a simple patch for fix the bug.
Note that, the pg_rewind tests "make check" will fail against ‘remote’
mode.
Current ‘make check’ can pass is because the pg_rewind tests run the
‘local’ mode twice,
and the ‘remote’ mode was not touched actually.
With the fix, the ‘make check’ will fail against ‘remote’ mode.
$make check
…
…prove -I ../../../src/test/perl/ --verbose t/*.pl :: remote
t/001_basic.pl .......
1..4
not ok 1 - pg_rewind remote
# Failed test 'pg_rewind remote'
# at RewindTest.pm line 236.
not ok 2 - table content: query result matches
…
not ok 3 - truncation: query result matches
….
Best Regards,
Kingter
Attachment | Content-Type | Size |
---|---|---|
fix_testmode_remote.patch | application/octet-stream | 844 bytes |
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2015-04-07 08:51:46 | Re: pg_rewind test could not run in 'remote' mode |
Previous Message | chenhj | 2015-04-07 08:15:51 | Re: BUG #12917: C program created by ecpg core dumped due to "varcharsize * offset" |