Skip to content

Fix failing tests on Strawberry Perl (5.44 in preparation) - #215

Open
esabol wants to merge 1 commit into
bucardo:masterfrom
esabol:fix-failing-tests-on-strawberry-perl
Open

esabol wants to merge 1 commit into
bucardo:masterfrom
esabol:fix-failing-tests-on-strawberry-perl

Conversation

@esabol

@esabol esabol commented Sep 30, 2026 •

Copy link
Copy Markdown
Collaborator

This PR is intended to fix the two failing tests in t/02attribs.t discovered by @shawnlaffan in #96 (comment) when preparing Strawberry Perl 5.44 for release. A fix identical to this pull request was confirmed to have fixed the issue on Strawberry Perl in #96 (comment).

Notes on the changes to t/02attribs.t:

The added $dbh->rollback()s ensure a clean transaction state before the next ParamValues checks That way the tests do not depend on the “commands ignored until end of transaction block” behavior that is fragile on Windows.

The (SELECT 1/0) is evaluated at execution time, after binds, so ShowErrorStatement still gets a full ParamValues map. The same pattern works for both $sth->execute and $dbh->do.

Regarding the changes to t/04misc.t:

This is a test expectation issue caused by Windows' case-insensitive filesystems. I'm surprised we haven't seen a report of this on macOS? We could just skip these tests if $^O =~ /Win32|msys|cygwin/i (and macOS/Darwin?), but I have chosen to add the error messages reported on Strawberry Perl to the expected regex.

@esabol
esabol requested a review from turnstep September 30, 2026 01:24
@esabol
esabol force-pushed the fix-failing-tests-on-strawberry-perl branch from dbdc294 to a444e81 Compare September 30, 2026 01:36
@shawnlaffan

Copy link
Copy Markdown

Regarding the changes to t/04misc.t:

This is a test expectation issue caused by Windows' case-insensitive filesystems. I'm surprised we haven't seen a report of this on macOS? We could just skip these tests if $^O =~ /Win32|msys|cygwin/i (and macOS/Darwin?), but I have chosen to add the error messages reported on Strawberry Perl to the expected regex.

These tests are perhaps best skipped on Windows as its case insensitivity means DBD::pg causes DBD::Pg to be loaded. The expected failure thus does not happen and a slew of redefined warnings is printed to STDERR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants