Change qr/foo$/m to qr/foo\n/m, for Perl 5.8.8.

Enterprise / PostgreSQL - Noah Misch [leadboat.com] - 7 November 2016 19:27 UTC

In each case, absence of a trailing newline would itself constitute a PostgreSQL bug. Therefore, this slightly enhances the changed tests. This works around a bug that last appeared in Perl 5.8.8, fixing src/test/modules/test_pg_dump when run against that version. Commit e7293e3271bf618eeb2d4779a15fc516a69fe463 worked around the bug, but the subsequent addition of test_pg_dump introduced affected code. As that commit had shown, slight increases in pattern complexity can suppress the bug. This commit edits qr/foo$/m patterns too complex to encounter the bug today, for style consistency and robustness against unrelated pattern changes. Back-patch to 9.6, where test_pg_dump was introduced.

As of this writing, a fresh MSYS installation includes an affected Perl 5.8.8. The Perl 5.8.8 in Red Hat Enterprise Linux 5.11 carries a patch that renders it unaffected, but the Perl 5.8.5 of Red Hat Enterprise Linux 4.4 is affected.

650b967 Change qr/foo$/m to qr/foo\n/m, for Perl 5.8.8.
src/bin/pg_basebackup/t/010_pg_basebackup.pl | 8 ++---
src/test/modules/test_pg_dump/t/001_base.pl | 48 +++++++++++++-------------
src/test/perl/README | 4 +++
src/tools/msvc/Project.pm | 2 +-
4 files changed, 32 insertions(+), 30 deletions(-)

Upstream: git.postgresql.org


  • Share