Re: [HACKERS] Failure in commit_ts tap tests - Mailing list pgsql-hackers

From Pavan Deolasee
Subject Re: [HACKERS] Failure in commit_ts tap tests
Date
Msg-id CABOikdMLJnn4ZvrP055TjuqH=+d+muCfY6i-O8+_34FPQutrAQ@mail.gmail.com
Whole thread Raw
In response to Re: [HACKERS] Failure in commit_ts tap tests  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: [HACKERS] Failure in commit_ts tap tests
List pgsql-hackers

On Sat, Jan 21, 2017 at 12:45 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:

Even more interesting, the warning appears as-expected in stripped down
test cases, eg

$ perl -e 'use warnings; use Test::More; ok("Foo" ne "bar", "ok");'
ok 1 - ok
# Tests were run but no plan was declared and done_testing() was not seen.

$ perl -e 'use warnings; use Test::More; ok("Foo" != "bar", "ok");'
Argument "bar" isn't numeric in numeric ne (!=) at -e line 1.
Argument "Foo" isn't numeric in numeric ne (!=) at -e line 1.
not ok 1 - ok
#   Failed test 'ok'
#   at -e line 1.
# Tests were run but no plan was declared and done_testing() was not seen.

I really don't understand why this complains but the same perl version
is happy with (the previous coding in) 004_restart.pl.  Perl bug?


I think I understand why it's only affecting me and not others. I've PGDATESTYLE set to "Postgres, MDY" in my bashrc and that formats the commit timestamp as "Fri Jan 20 07:59:52.322811 2017 PST". If I unset that, the result comes in a format such as  "2017-01-20 21:31:47.766371-08". Looks like perl doesn't throw an error if it can parse the leading part of the string as a numeric. It still throws a warning, but the test passes.

Thanks,
Pavan
 
--
 Pavan Deolasee                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services

pgsql-hackers by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: [HACKERS] Packages: Again
Next
From: Amit Kapila
Date:
Subject: Re: [HACKERS] Parallel Index Scans