From: | Andrew Dunstan <andrew(at)dunslane(dot)net> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Daniel Gustafsson <daniel(at)yesql(dot)se> |
Cc: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | Re: pgsql: Skip \password TAP test on old IPC::Run versions |
Date: | 2023-04-08 20:40:12 |
Message-ID: | e5262673-8958-298a-faba-d25c79dd9807@dunslane.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
On 2023-04-08 Sa 16:30, Tom Lane wrote:
> Daniel Gustafsson<daniel(at)yesql(dot)se> writes:
>> On 8 Apr 2023, at 18:23, Tom Lane<tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>>> Can't we write "use IPC::Run 0.98;" and let
>>> some other code manage the version comparison?
>> We can, but that AFAIK (Andrew might have a better answer) requires the below
>> diff which I think leaves some readability to be desired:
>> - (eval { require IO::Pty; } && eval { $IPC::Run::VERSION >= '0.98' });
>> + (eval { require IO::Pty; } && !!eval { IPC::Run->VERSION('0.98'); 1 });
> Maybe I'm missing something, but I was envisioning
>
> eval { require IO::Pty; use IPC::Run 0.98; }
>
> with no need to do more than check if the eval traps an error.
>
>
You need to be careful with "use". It is executed in the compile phase,
so I'd avoid it here.
cheers
andrew
--
Andrew Dunstan
EDB:https://www.enterprisedb.com
From | Date | Subject | |
---|---|---|---|
Next Message | Daniel Gustafsson | 2023-04-08 20:46:08 | Re: pgsql: Skip \password TAP test on old IPC::Run versions |
Previous Message | Andrew Dunstan | 2023-04-08 20:37:04 | Re: pgsql: Skip \password TAP test on old IPC::Run versions |