On Sat, Jan 21, 2017 at 12:45 AM, Tom Lane <t...@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