public inbox for [email protected]
help / color / mirror / Atom feed003_extrafiles.pl test fails on Windows with the newer Perl versions
7+ messages / 3 participants
[nested] [flat]
* 003_extrafiles.pl test fails on Windows with the newer Perl versions
@ 2024-01-30 11:21 Nazir Bilal Yavuz <[email protected]>
2024-01-30 11:46 ` Re: 003_extrafiles.pl test fails on Windows with the newer Perl versions Nazir Bilal Yavuz <[email protected]>
2024-01-30 11:49 ` Re: 003_extrafiles.pl test fails on Windows with the newer Perl versions Andrew Dunstan <[email protected]>
0 siblings, 2 replies; 7+ messages in thread
From: Nazir Bilal Yavuz @ 2024-01-30 11:21 UTC (permalink / raw)
To: PostgreSQL Hackers <[email protected]>
Hi,
I was trying to install newer Perl versions to Windows CI images and
found that 003_extrafiles.pl test fails on Windows with:
(0.183s) not ok 2 - file lists match
(0.000s) # Failed test 'file lists match'
# at C:/cirrus/src/bin/pg_rewind/t/003_extrafiles.pl line 81.
(0.000s) # Structures begin differing at:
# $got->[0] =
'C:/cirrus/build/testrun/pg_rewind/003_extrafiles/data/t_003_extrafiles_primary_local_data/pgdata/tst_both_dir'
# $expected->[0] =
'C:\cirrus\build/testrun/pg_rewind/003_extrafiles\data/t_003_extrafiles_primary_local_data/pgdata/tst_both_dir'
(0.263s) not ok 5 - file lists match
(0.000s) # Failed test 'file lists match'
# at C:/cirrus/src/bin/pg_rewind/t/003_extrafiles.pl line 81.
(0.000s) # Structures begin differing at:
# $got->[0] =
'C:/cirrus/build/testrun/pg_rewind/003_extrafiles/data/t_003_extrafiles_primary_remote_data/pgdata/tst_both_dir'
# $expected->[0] =
'C:\cirrus\build/testrun/pg_rewind/003_extrafiles\data/t_003_extrafiles_primary_remote_data/pgdata/tst_both_dir'
It looks like File::Find converts backslashes to slashes in the newer
Perl versions. I tried to find the related commit and found this:
https://github.com/Perl/perl5/commit/414f14df98cb1c9a20f92c5c54948b67c09f072d
To solve this, I did the same conversion for Windows before comparing
the paths. And to support all Perl versions, I decided to always
convert them on Windows regardless of the Perl's version. The fix is
attached.
I looked at other File::Find appearances in the code but they do not
compare the paths. So, I do not think there is any need to fix them.
Any kind of feedback would be appreciated.
--
Regards,
Nazir Bilal Yavuz
Microsoft
Attachments:
[application/x-patch] v1-0001-Fix-003_extrafiles.pl-test-for-the-Windows.patch (1.3K, ../../CAN55FZ2XW1B5NP11Vy-y9O2BmMnLFq8grCsHZr_AovcL4QCgdg@mail.gmail.com/2-v1-0001-Fix-003_extrafiles.pl-test-for-the-Windows.patch)
download | inline diff:
From b28f48fe7d98d3dd7d2fcf652bfa5c8a4cd1c2d6 Mon Sep 17 00:00:00 2001
From: Nazir Bilal Yavuz <[email protected]>
Date: Tue, 30 Jan 2024 13:12:41 +0300
Subject: [PATCH v1] Fix 003_extrafiles.pl test for the Windows
File::Find converts backslashes to slashes in the newer Perl versions.
See: https://github.com/Perl/perl5/commit/414f14df98cb1c9a20f92c5c54948b67c09f072d
So, do the same conversion for Windows before comparing paths. To
support all Perl versions, always convert them on Windows regardless of
the Perl's version.
---
src/bin/pg_rewind/t/003_extrafiles.pl | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/src/bin/pg_rewind/t/003_extrafiles.pl b/src/bin/pg_rewind/t/003_extrafiles.pl
index d54dcddcbb6..7e4c2771ce7 100644
--- a/src/bin/pg_rewind/t/003_extrafiles.pl
+++ b/src/bin/pg_rewind/t/003_extrafiles.pl
@@ -78,6 +78,19 @@ sub run_test
},
$test_primary_datadir);
@paths = sort @paths;
+
+ # File::Find converts backslashes to slashes in the newer Perl
+ # versions. To support all Perl versions, do the same conversion
+ # for Windows before comparing the paths.
+ if ($PostgreSQL::Test::Utils::windows_os)
+ {
+ for my $filename (@paths)
+ {
+ $filename =~ s{\\}{/}g;
+ }
+ $test_primary_datadir =~ s{\\}{/}g;
+ }
+
is_deeply(
\@paths,
[
--
2.43.0
^ permalink raw reply [nested|flat] 7+ messages in thread
* Re: 003_extrafiles.pl test fails on Windows with the newer Perl versions
2024-01-30 11:21 003_extrafiles.pl test fails on Windows with the newer Perl versions Nazir Bilal Yavuz <[email protected]>
@ 2024-01-30 11:46 ` Nazir Bilal Yavuz <[email protected]>
1 sibling, 0 replies; 7+ messages in thread
From: Nazir Bilal Yavuz @ 2024-01-30 11:46 UTC (permalink / raw)
To: PostgreSQL Hackers <[email protected]>
Hi,
On Tue, 30 Jan 2024 at 14:21, Nazir Bilal Yavuz <[email protected]> wrote:
>
> It looks like File::Find converts backslashes to slashes in the newer
> Perl versions. I tried to find the related commit and found this:
> https://github.com/Perl/perl5/commit/414f14df98cb1c9a20f92c5c54948b67c09f072d
I forgot to mention that I used Strawberry Perl and these errors
started with 'Perl v5.36.1.1'.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 7+ messages in thread
* Re: 003_extrafiles.pl test fails on Windows with the newer Perl versions
2024-01-30 11:21 003_extrafiles.pl test fails on Windows with the newer Perl versions Nazir Bilal Yavuz <[email protected]>
@ 2024-01-30 11:49 ` Andrew Dunstan <[email protected]>
2024-01-30 22:18 ` Re: 003_extrafiles.pl test fails on Windows with the newer Perl versions Andrew Dunstan <[email protected]>
1 sibling, 1 reply; 7+ messages in thread
From: Andrew Dunstan @ 2024-01-30 11:49 UTC (permalink / raw)
To: Nazir Bilal Yavuz <[email protected]>; PostgreSQL Hackers <[email protected]>
On 2024-01-30 Tu 06:21, Nazir Bilal Yavuz wrote:
> Hi,
>
> I was trying to install newer Perl versions to Windows CI images and
> found that 003_extrafiles.pl test fails on Windows with:
>
> (0.183s) not ok 2 - file lists match
> (0.000s) # Failed test 'file lists match'
> # at C:/cirrus/src/bin/pg_rewind/t/003_extrafiles.pl line 81.
> (0.000s) # Structures begin differing at:
> # $got->[0] =
> 'C:/cirrus/build/testrun/pg_rewind/003_extrafiles/data/t_003_extrafiles_primary_local_data/pgdata/tst_both_dir'
> # $expected->[0] =
> 'C:\cirrus\build/testrun/pg_rewind/003_extrafiles\data/t_003_extrafiles_primary_local_data/pgdata/tst_both_dir'
>
> (0.263s) not ok 5 - file lists match
> (0.000s) # Failed test 'file lists match'
> # at C:/cirrus/src/bin/pg_rewind/t/003_extrafiles.pl line 81.
> (0.000s) # Structures begin differing at:
> # $got->[0] =
> 'C:/cirrus/build/testrun/pg_rewind/003_extrafiles/data/t_003_extrafiles_primary_remote_data/pgdata/tst_both_dir'
> # $expected->[0] =
> 'C:\cirrus\build/testrun/pg_rewind/003_extrafiles\data/t_003_extrafiles_primary_remote_data/pgdata/tst_both_dir'
>
> It looks like File::Find converts backslashes to slashes in the newer
> Perl versions. I tried to find the related commit and found this:
> https://github.com/Perl/perl5/commit/414f14df98cb1c9a20f92c5c54948b67c09f072d
>
> To solve this, I did the same conversion for Windows before comparing
> the paths. And to support all Perl versions, I decided to always
> convert them on Windows regardless of the Perl's version. The fix is
> attached.
>
> I looked at other File::Find appearances in the code but they do not
> compare the paths. So, I do not think there is any need to fix them.
>
> Any kind of feedback would be appreciated.
>
Looks reasonable on the face of it. I'll see about pushing this today.
cheers
andrew
--
Andrew Dunstan
EDB: https://www.enterprisedb.com
^ permalink raw reply [nested|flat] 7+ messages in thread
* Re: 003_extrafiles.pl test fails on Windows with the newer Perl versions
2024-01-30 11:21 003_extrafiles.pl test fails on Windows with the newer Perl versions Nazir Bilal Yavuz <[email protected]>
2024-01-30 11:49 ` Re: 003_extrafiles.pl test fails on Windows with the newer Perl versions Andrew Dunstan <[email protected]>
@ 2024-01-30 22:18 ` Andrew Dunstan <[email protected]>
2024-01-30 23:06 ` Re: 003_extrafiles.pl test fails on Windows with the newer Perl versions Tom Lane <[email protected]>
2024-01-31 08:45 ` Re: 003_extrafiles.pl test fails on Windows with the newer Perl versions Nazir Bilal Yavuz <[email protected]>
0 siblings, 2 replies; 7+ messages in thread
From: Andrew Dunstan @ 2024-01-30 22:18 UTC (permalink / raw)
To: Nazir Bilal Yavuz <[email protected]>; PostgreSQL Hackers <[email protected]>
On 2024-01-30 Tu 06:49, Andrew Dunstan wrote:
>
> On 2024-01-30 Tu 06:21, Nazir Bilal Yavuz wrote:
>> Hi,
>>
>> I was trying to install newer Perl versions to Windows CI images and
>> found that 003_extrafiles.pl test fails on Windows with:
>>
>> (0.183s) not ok 2 - file lists match
>> (0.000s) # Failed test 'file lists match'
>> # at C:/cirrus/src/bin/pg_rewind/t/003_extrafiles.pl line 81.
>> (0.000s) # Structures begin differing at:
>> # $got->[0] =
>> 'C:/cirrus/build/testrun/pg_rewind/003_extrafiles/data/t_003_extrafiles_primary_local_data/pgdata/tst_both_dir'
>>
>> # $expected->[0] =
>> 'C:\cirrus\build/testrun/pg_rewind/003_extrafiles\data/t_003_extrafiles_primary_local_data/pgdata/tst_both_dir'
>>
>>
>> (0.263s) not ok 5 - file lists match
>> (0.000s) # Failed test 'file lists match'
>> # at C:/cirrus/src/bin/pg_rewind/t/003_extrafiles.pl line 81.
>> (0.000s) # Structures begin differing at:
>> # $got->[0] =
>> 'C:/cirrus/build/testrun/pg_rewind/003_extrafiles/data/t_003_extrafiles_primary_remote_data/pgdata/tst_both_dir'
>>
>> # $expected->[0] =
>> 'C:\cirrus\build/testrun/pg_rewind/003_extrafiles\data/t_003_extrafiles_primary_remote_data/pgdata/tst_both_dir'
>>
>>
>> It looks like File::Find converts backslashes to slashes in the newer
>> Perl versions. I tried to find the related commit and found this:
>> https://github.com/Perl/perl5/commit/414f14df98cb1c9a20f92c5c54948b67c09f072d
>>
>>
>> To solve this, I did the same conversion for Windows before comparing
>> the paths. And to support all Perl versions, I decided to always
>> convert them on Windows regardless of the Perl's version. The fix is
>> attached.
>>
>> I looked at other File::Find appearances in the code but they do not
>> compare the paths. So, I do not think there is any need to fix them.
>>
>> Any kind of feedback would be appreciated.
>>
>
> Looks reasonable on the face of it. I'll see about pushing this today.
Pushed to all live branches. Thanks for the patch.
cheers
andrew
--
Andrew Dunstan
EDB: https://www.enterprisedb.com
^ permalink raw reply [nested|flat] 7+ messages in thread
* Re: 003_extrafiles.pl test fails on Windows with the newer Perl versions
2024-01-30 11:21 003_extrafiles.pl test fails on Windows with the newer Perl versions Nazir Bilal Yavuz <[email protected]>
2024-01-30 11:49 ` Re: 003_extrafiles.pl test fails on Windows with the newer Perl versions Andrew Dunstan <[email protected]>
2024-01-30 22:18 ` Re: 003_extrafiles.pl test fails on Windows with the newer Perl versions Andrew Dunstan <[email protected]>
@ 2024-01-30 23:06 ` Tom Lane <[email protected]>
2024-01-30 23:56 ` Re: 003_extrafiles.pl test fails on Windows with the newer Perl versions Andrew Dunstan <[email protected]>
1 sibling, 1 reply; 7+ messages in thread
From: Tom Lane @ 2024-01-30 23:06 UTC (permalink / raw)
To: Andrew Dunstan <[email protected]>; +Cc: Nazir Bilal Yavuz <[email protected]>; PostgreSQL Hackers <[email protected]>
Andrew Dunstan <[email protected]> writes:
> Pushed to all live branches. Thanks for the patch.
v12 and v13 branches aren't looking good:
Global symbol "$test_primary_datadir" requires explicit package name (did you forget to declare "my $test_primary_datadir"?) at t/003_extrafiles.pl line 80.
Execution of t/003_extrafiles.pl aborted due to compilation errors.
# Looks like your test exited with 255 before it could output anything.
[17:19:57] t/003_extrafiles.pl ..........
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 5/5 subtests
regards, tom lane
^ permalink raw reply [nested|flat] 7+ messages in thread
* Re: 003_extrafiles.pl test fails on Windows with the newer Perl versions
2024-01-30 11:21 003_extrafiles.pl test fails on Windows with the newer Perl versions Nazir Bilal Yavuz <[email protected]>
2024-01-30 11:49 ` Re: 003_extrafiles.pl test fails on Windows with the newer Perl versions Andrew Dunstan <[email protected]>
2024-01-30 22:18 ` Re: 003_extrafiles.pl test fails on Windows with the newer Perl versions Andrew Dunstan <[email protected]>
2024-01-30 23:06 ` Re: 003_extrafiles.pl test fails on Windows with the newer Perl versions Tom Lane <[email protected]>
@ 2024-01-30 23:56 ` Andrew Dunstan <[email protected]>
0 siblings, 0 replies; 7+ messages in thread
From: Andrew Dunstan @ 2024-01-30 23:56 UTC (permalink / raw)
To: Tom Lane <[email protected]>; +Cc: Nazir Bilal Yavuz <[email protected]>; PostgreSQL Hackers <[email protected]>
On 2024-01-30 Tu 18:06, Tom Lane wrote:
> Andrew Dunstan <[email protected]> writes:
>> Pushed to all live branches. Thanks for the patch.
> v12 and v13 branches aren't looking good:
>
> Global symbol "$test_primary_datadir" requires explicit package name (did you forget to declare "my $test_primary_datadir"?) at t/003_extrafiles.pl line 80.
> Execution of t/003_extrafiles.pl aborted due to compilation errors.
> # Looks like your test exited with 255 before it could output anything.
> [17:19:57] t/003_extrafiles.pl ..........
> Dubious, test returned 255 (wstat 65280, 0xff00)
> Failed 5/5 subtests
>
>
Will fix.
cheers
andrew
--
Andrew Dunstan
EDB: https://www.enterprisedb.com
^ permalink raw reply [nested|flat] 7+ messages in thread
* Re: 003_extrafiles.pl test fails on Windows with the newer Perl versions
2024-01-30 11:21 003_extrafiles.pl test fails on Windows with the newer Perl versions Nazir Bilal Yavuz <[email protected]>
2024-01-30 11:49 ` Re: 003_extrafiles.pl test fails on Windows with the newer Perl versions Andrew Dunstan <[email protected]>
2024-01-30 22:18 ` Re: 003_extrafiles.pl test fails on Windows with the newer Perl versions Andrew Dunstan <[email protected]>
@ 2024-01-31 08:45 ` Nazir Bilal Yavuz <[email protected]>
1 sibling, 0 replies; 7+ messages in thread
From: Nazir Bilal Yavuz @ 2024-01-31 08:45 UTC (permalink / raw)
To: Andrew Dunstan <[email protected]>; +Cc: PostgreSQL Hackers <[email protected]>
Hi,
On Wed, 31 Jan 2024 at 01:18, Andrew Dunstan <[email protected]> wrote:
>
> Pushed to all live branches. Thanks for the patch.
Thanks for the push!
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 7+ messages in thread
end of thread, other threads:[~2024-01-31 08:45 UTC | newest]
Thread overview: 7+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2024-01-30 11:21 003_extrafiles.pl test fails on Windows with the newer Perl versions Nazir Bilal Yavuz <[email protected]>
2024-01-30 11:46 ` Nazir Bilal Yavuz <[email protected]>
2024-01-30 11:49 ` Andrew Dunstan <[email protected]>
2024-01-30 22:18 ` Andrew Dunstan <[email protected]>
2024-01-30 23:06 ` Tom Lane <[email protected]>
2024-01-30 23:56 ` Andrew Dunstan <[email protected]>
2024-01-31 08:45 ` Nazir Bilal Yavuz <[email protected]>
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox