pgsql: Blindly try to fix test script's tar invocation for MSYS.
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(-)
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
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
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