|From:||Michael Paquier <michael(at)paquier(dot)xyz>|
|To:||Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>|
|Cc:||Andrew Dunstan <andrew(dot)dunstan(at)2ndquadrant(dot)com>, Juan José Santamaría Flecha <juanjo(dot)santamaria(at)gmail(dot)com>, Dagfinn Ilmari Mannsåker <ilmari(at)ilmari(dot)org>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>|
|Subject:||Re: TAP tests and symlinks on Windows|
|Views:||Raw Message | Whole Thread | Download mbox | Resend email|
On Mon, Jun 29, 2020 at 04:56:16PM +0900, Michael Paquier wrote:
> On Fri, Jun 26, 2020 at 02:00:37PM +0200, Peter Eisentraut wrote:
>> We should be more accurate about things like this:
>> +# The following tests test symlinks. Windows may not have symlinks, so
>> +# skip there.
>> The issue isn't whether Windows has symlinks, since all versions of Windows
>> supported by PostgreSQL do (AFAIK). The issue is only whether the Perl
>> installation that runs the tests has symlink support. And that is only
>> necessary if the test itself wants to create or inspect symlinks. For
>> example, there are existing tests involving tablespaces that work just fine
>> on Windows.
> Check. Indeed that sounds confusing.
Attached is an updated patch, where I have tried to use a better
wording in all the code paths involved.
>> Relatedly, your patch ends up skipping the tests on MSYS2, even though Perl
>> supports symlinks there out of the box.
> Do you think that it would be enough to use what Andrew has mentioned
> in ? I don't have a MSYS2 installation, so I am unfortunately not
> able to confirm that, but I would just move the check to TestLib.pm
> and save it in an extra variable.
Added an extra $is_msys2 to track that in TestLib.pm. One thing I am
not sure of though: Win32::Symlink fails to work properly with -l, but
is that the case with MSYS2? If that's able to work, it would be
possible to not skip the following test but I have taken the most
careful approach for now:
+ # This symlink check is not supported on Windows. Win32::Symlink works
+ # around this situation by using junction points (actually PostgreSQL
+ # approach on the problem), and -l is not able to detect that situation.
+ skip "symlink check not implemented on Windows", 1
+ if ($windows_os)
|Next Message||Michael Paquier||2020-06-30 12:18:04||Re: Missing some ifndef FRONTEND at the top of logging.c and file_utils.c|
|Previous Message||Amit Kapila||2020-06-30 11:50:14||Re: PATCH: logical_work_mem and logical streaming of large in-progress transactions|