Thread: 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