| From: | Andrew Bille <andrewbille(at)gmail(dot)com> |
|---|---|
| To: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | [PATCH] Fix TAP tests with recent IPC::Run on Windows |
| Date: | 2026-09-25 08:59:16 |
| Message-ID: | CAJnzarxyuspsEcyG4iNqBQSVMj7B0mgZ3V4_EEhsKAhGtGX-Yg@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hi,
While running the TAP test suite on Windows with IPC::Run 20260402.0,
I found a number of failures caused by changes in IPC::Run's Win32
stream handling.
There were two distinct symptoms.
First, IPC::Run now uses binary mode by default on Windows. Text
captured into Perl scalars therefore retains CRLF, while a number of
TAP tests expect the previous text-mode behavior. This caused many
comparisons to fail even though the displayed output looked identical.
The patch adds ipc_run_text_mode() and uses it for IPC::Run redirects
whose contents are treated as text by the tests.
Second, a few tests relied on implicit standard streams. With the
recent IPC::Run this resulted in failures such as:
psql: error: could not print result table: Bad file descriptor
and, in pg_upgrade tests, child xcopy commands failing to copy
pg_xact unless stdin was supplied explicitly.
Those cases now use explicit stream endpoints.
I tested the patch with the full test suite on Windows using both:
IPC::Run 20260402.0
IPC::Run 20231003.0
Both pass. I also tested the changes on Linux successfully.
Patch attached.
Regards,
Andrew, Postgres Professional
| Attachment | Content-Type | Size |
|---|---|---|
| 0001-Fix-TAP-tests-with-recent-IPC-Run-on-Windows.patch | text/x-patch | 14.3 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Michael Paquier | 2026-09-25 09:04:40 | Re: BUG: pg_class.relchecks overflow, making table undroppable |
| Previous Message | Michael Paquier | 2026-09-25 08:54:38 | Re: WAL segment file descriptor leak on read errors can PANIC the server |