Thread: pgsql: Blindly try to fix test script's tar invocation for MSYS.

pgsql: Blindly try to fix test script's tar invocation for MSYS.

From
Tom Lane
Date:
Blindly try to fix test script's tar invocation for MSYS.

Buildfarm member fairywren doesn't like the test case I added
in commit 081876d75.  I'm guessing the reason is that I shouldn't
be using a perl2host-ified path in the tar command line.

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/27ab1981e7c9b8fcbcb143c5f6f706441a52bbc8

Modified Files
--------------
src/bin/pg_basebackup/t/010_pg_basebackup.pl | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)


Re: pgsql: Blindly try to fix test script's tar invocation for MSYS.

From
Andrew Dunstan
Date:
On 3/18/21 10:43 PM, Tom Lane wrote:
> Blindly try to fix test script's tar invocation for MSYS.
>
> Buildfarm member fairywren doesn't like the test case I added
> in commit 081876d75.  I'm guessing the reason is that I shouldn't
> be using a perl2host-ified path in the tar command line.
>

No, you shouldn't. The rule is that you need to use perl2host when
passing a path to a non-msys-aware program. This will typically be one
of our own artefacts, or the comand processor (via system(), qx() etc.).
But msys-aware programs such as utility programs like tar should get the
path just as the perl script sees it.


Maybe I need to add to the comments on it in TestLib.pm.


cheers


andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com




Re: pgsql: Blindly try to fix test script's tar invocation for MSYS.

From
Tom Lane
Date:
Andrew Dunstan <andrew@dunslane.net> writes:
> On 3/18/21 10:43 PM, Tom Lane wrote:
>> Buildfarm member fairywren doesn't like the test case I added
>> in commit 081876d75.  I'm guessing the reason is that I shouldn't
>> be using a perl2host-ified path in the tar command line.

> No, you shouldn't. The rule is that you need to use perl2host when
> passing a path to a non-msys-aware program. This will typically be one
> of our own artefacts, or the comand processor (via system(), qx() etc.).
> But msys-aware programs such as utility programs like tar should get the
> path just as the perl script sees it.

Ah.  So it seems like the $64 question is how to know that tar, or any
particular other program, is msys-aware.

            regards, tom lane



Re: pgsql: Blindly try to fix test script's tar invocation for MSYS.

From
Andrew Dunstan
Date:
On 3/20/21 11:05 AM, Tom Lane wrote:
> Andrew Dunstan <andrew@dunslane.net> writes:
>> On 3/18/21 10:43 PM, Tom Lane wrote:
>>> Buildfarm member fairywren doesn't like the test case I added
>>> in commit 081876d75.  I'm guessing the reason is that I shouldn't
>>> be using a perl2host-ified path in the tar command line.
>> No, you shouldn't. The rule is that you need to use perl2host when
>> passing a path to a non-msys-aware program. This will typically be one
>> of our own artefacts, or the comand processor (via system(), qx() etc.).
>> But msys-aware programs such as utility programs like tar should get the
>> path just as the perl script sees it.
> Ah.  So it seems like the $64 question is how to know that tar, or any
> particular other program, is msys-aware.
>
>             


1. If it's one of our artefacts it won't be - we're building to run
native without any msys involvement. (That's not quite true. It's
possible to build with msys as the target environment. But we don't, or
at least I don't, and I don't think anything else in the buildfarm does.)


2. Anything else (like tar) is very likely to be msys-aware. If there's
ever a doubt it might be possible to construct a test to look for the
program in the msys paths, but up to now we haven't really needed to,
and it seems likely to be overkill.


cheers


andrew


--
Andrew Dunstan
EDB: https://www.enterprisedb.com