Re: pgsql: Skip some permissions checks on Cygwin - Mailing list pgsql-committers

From Andrew Dunstan
Subject Re: pgsql: Skip some permissions checks on Cygwin
Date
Msg-id fb2c5702-a51d-4d15-a523-83a0443f0df5@dunslane.net
Whole thread Raw
In response to Re: pgsql: Skip some permissions checks on Cygwin  (Noah Misch <noah@leadboat.com>)
Responses Re: pgsql: Skip some permissions checks on Cygwin
List pgsql-committers
On 2024-06-23 Su 9:03 PM, Noah Misch wrote:
> On Thu, Jun 13, 2024 at 12:12:29PM +0000, Andrew Dunstan wrote:
>> Skip some permissions checks on Cygwin
>>
>> These are checks that are already skipped on other Windows systems.
>>       skip "unix-style permissions not supported on Windows", 2
>> -      if ($windows_os);
>> +      if ($windows_os || $Config::Config{osname} eq 'cygwin');
>> -    skip "group access not supported on Windows", 3 if ($windows_os);
>> +    skip "group access not supported on Windows", 3
>> +      if ($windows_os || $Config::Config{osname} eq 'cygwin');
> Cygwin does support Unix-style permissions, so I'm not following the rationale
> for this change.  Can you say more?


It seems to have some difficulties with group permissions in some cases. 
I improved the error message a bit, and got a bunch that all look like this:


build/testrun/initdb/001_initdb/log/regress_log_001_initdb:*main::STDERR/home/Administrator/postgresql/build/testrun/initdb/001_initdb/data/tmp_test_qlhf/data_group/global/6303

mode must be 0640, not 0600

build/testrun/initdb/001_initdb/log/regress_log_001_initdb:*main::STDERR/home/Administrator/postgresql/build/testrun/initdb/001_initdb/data/tmp_test_qlhf/data_group/global/pg_control

mode must be 0640, not 0600

build/testrun/initdb/001_initdb/log/regress_log_001_initdb:*main::STDERR/home/Administrator/postgresql/build/testrun/initdb/001_initdb/data/tmp_test_qlhf/data_group/global/pg_filenode.map

mode must be 0640, not 0600

build/testrun/initdb/001_initdb/log/regress_log_001_initdb:*main::STDERR/home/Administrator/postgresql/build/testrun/initdb/001_initdb/data/tmp_test_qlhf/data_group/base/5

mode must be 0750, not 0000000000000000000000000000000000000700

build/testrun/initdb/001_initdb/log/regress_log_001_initdb:*main::STDERR/home/Administrator/postgresql/build/testrun/initdb/001_initdb/data/tmp_test_qlhf/data_group/base/5/112

mode must be 0640, not 0600

build/testrun/initdb/001_initdb/log/regress_log_001_initdb:*main::STDERR/home/Administrator/postgresql/build/testrun/initdb/001_initdb/data/tmp_test_qlhf/data_group/base/5/113

mode must be 0640, not 0600

build/testrun/initdb/001_initdb/log/regress_log_001_initdb:*main::STDERR/home/Administrator/postgresql/build/testrun/initdb/001_initdb/data/tmp_test_qlhf/data_group/base/5/1247

mode must be 0640, not 0600

build/testrun/initdb/001_initdb/log/regress_log_001_initdb:*main::STDERR/home/Administrator/postgresql/build/testrun/initdb/001_initdb/data/tmp_test_qlhf/data_group/base/5/1247_fsm

mode must be 0640, not 0600

build/testrun/initdb/001_initdb/log/regress_log_001_initdb:*main::STDERR/home/Administrator/postgresql/build/testrun/initdb/001_initdb/data/tmp_test_qlhf/data_group/base/5/1247_vm

mode must be 0640, not 0600

build/testrun/initdb/001_initdb/log/regress_log_001_initdb:*main::STDERR/home/Administrator/postgresql/build/testrun/initdb/001_initdb/data/tmp_test_qlhf/data_group/base/5/1249

mode must be 0640, not 0600


Apparently there's some issue with the group None. I don't mind digging 
further if you think it might be worthwhile, but it seemed to me that 
since we didn't mind too much skipping these checks on native Windows we 
wouldn't mind on Cygwin either.

Up to now we haven't been covering Cygwin with TAP tests, and I'd like 
to change that.


cheers


andrew

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




pgsql-committers by date:

Previous
From: Alvaro Herrera
Date:
Subject: pgsql: Fix partition pruning setup during DETACH CONCURRENTLY
Next
From: Alvaro Herrera
Date:
Subject: pgsql: Revert "Fix partition pruning setup during DETACH CONCURRENTLY"