On 2025-01-08 We 10:38 PM, Thomas Munro wrote:
> On Thu, Jan 9, 2025 at 3:45 AM Andrew Dunstan <andrew@dunslane.net> wrote:
>> Those patches didn't actually include any tests. I guess the best test
>> would be to create a chain of several junction points and then run
>> initdb on the leaf of the chain?
> Yeah I think the three interesting cases were initdb when run under
> junctions like these:
>
> 1. Volume GUID format: mklink /J foo \\?\Volume{12341234-1234...},
> expected to break without patch
> 2. Chain: mklink /J C:\\aaa1 C:\\aaa2, mkdir /J C:\\aaa2 c:\\aaa3,
> expected to break without patch
> 3. Chain of length > 8, expected to fail with ELOOP once the patch is applied.
>
> (Syntax may be off, I just googled it but don't have Windows to try).
>
> The way to get decent tests for this stuff and all the rest of the
> wrappers would probably be to develop this test suite further:
>
>
https://www.postgresql.org/message-id/flat/CA%2BhUKG%2BajSQ_8eu2AogTncOnZ5me2D-Cn66iN_-wZnRjLN%2Bicg%40mail.gmail.com
I can confirm that these two patches apply cleanly to releases 13 .. 15,
that builds are also clean, and that tests 1..3 above pass/fail as
expected. Tested on a WS2019 instance.
cheers
andrew
--
Andrew Dunstan
EDB: https://www.enterprisedb.com