Re: pgsql: Skip some permissions checks on Cygwin

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Noah Misch <noah(at)leadboat(dot)com>
Cc: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: Re: pgsql: Skip some permissions checks on Cygwin
Date: 2024-06-24 14:17:32
Message-ID: fb2c5702-a51d-4d15-a523-83a0443f0df5@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Alvaro Herrera 2024-06-24 15:40:56 pgsql: Revert "Fix partition pruning setup during DETACH CONCURRENTLY"
Previous Message Alvaro Herrera 2024-06-24 13:58:59 pgsql: Fix partition pruning setup during DETACH CONCURRENTLY