Skip Menu |
Report information
Id: 133604
Status: resolved
Priority: 0/
Queue: perl5

Owner: Nobody
Requestors: sisyphus359 [at] gmail.com
Cc:
AdminCc:

Operating System: (no value)
PatchStatus: (no value)
Severity: low
Type: unknown
Perl Version: (no value)
Fixed In: (no value)



Date: Sun, 21 Oct 2018 20:17:06 +1100
Subject: 5.29.4 - io/socket.t reports as failing on Windows
From: sisyphus <sisyphus359 [...] gmail.com>
To: perlbug [...] perl.org
Download (untitled) / with headers
text/plain 1.6k
Hi,

Here's what I see wrt to socket.t when running the test suite:

io/socket.t ........................................................ 1/?
recv() isn't allowed on :utf8 handles at io/socket.t line 209.
send() isn't allowed on :utf8 handles at io/socket.t line 177.
io/socket.t ........................................................ Dubious, test returned 255 (wstat 65280, 0xff00)
All 21 subtests passed
        (less 1 skipped subtest: 20 okay)

However, the test summary regards that as a FAIL:

io/socket.t                                                      (Wstat: 65280 Tests: 21 Failed: 0)
  Non-zero exit status: 255
  Parse errors: No plan found in TAP output

Running that test script outside of Test::Harness appears to be ok:

C:\_32\comp\perl-5.29.4>perl t/io/socket.t
ok 1 - close the socket
ok 2 - make a tcp socket
ok 3 - bind works
ok 4 - getsockname() on bound socket
# port 52996
ok 5 - listen() works
ok 6 - make accept tcp socket
ok 7 - accept() works
ok 8 # skip no fcntl
ok 9 - close server socket in child
ok 10 - make child tcp socket
ok 11 - connect() works
ok 12 - peer from recv() should be empty or the remote name
ok 13 - check we received the data
ok 14 - shutdown() works
# recv/send :utf8 tests
ok 15 - make a tcp socket (recv/send :utf8 handling)
ok 16 - bind works
ok 17 - getsockname() on bound socket
# port 52998
ok 18 - listen() works
ok 19 - make accept tcp socket
recv() isn't allowed on :utf8 handles at t/io/socket.t line 209.
ok 20 - accept() works
ok 21 - should die on send to :utf8 socket
send() isn't allowed on :utf8 handles at t/io/socket.t line 177.

This is the same on both 32-bit and 64-bit builds.

Cheers,
Rob
From: Tony Cook <tony [...] develop-help.com>
Subject: Re: [perl #133604] 5.29.4 - io/socket.t reports as failing on Windows
Date: Sun, 21 Oct 2018 22:16:56 +1100
To: perl5-porters [...] perl.org
Download (untitled) / with headers
text/plain 1.4k
On Sun, Oct 21, 2018 at 02:17:28AM -0700, sisyphus (via RT) wrote: Show quoted text
> Running that test script outside of Test::Harness appears to be ok: > > C:\_32\comp\perl-5.29.4>perl t/io/socket.t > ok 1 - close the socket > ok 2 - make a tcp socket > ok 3 - bind works > ok 4 - getsockname() on bound socket > # port 52996 > ok 5 - listen() works > ok 6 - make accept tcp socket > ok 7 - accept() works > ok 8 # skip no fcntl > ok 9 - close server socket in child > ok 10 - make child tcp socket > ok 11 - connect() works > ok 12 - peer from recv() should be empty or the remote name > ok 13 - check we received the data > ok 14 - shutdown() works > # recv/send :utf8 tests > ok 15 - make a tcp socket (recv/send :utf8 handling) > ok 16 - bind works > ok 17 - getsockname() on bound socket > # port 52998 > ok 18 - listen() works > ok 19 - make accept tcp socket > recv() isn't allowed on :utf8 handles at t/io/socket.t line 209. > ok 20 - accept() works > ok 21 - should die on send to :utf8 socket > send() isn't allowed on :utf8 handles at t/io/socket.t line 177.
No, that's a fail, there's no plan (1..21) because both threads die before it's produced. Show quoted text
> This is the same on both 32-bit and 64-bit builds.
Yeah, I'm not sure what the underlying problem is. The binmode() before the die in each "process" isn't removing the :utf8 flag (not the :crlf) from the PerlIO layers. Tomorrow I'll add a skip for that block (it's 10pm) and go back to trying to track down the cause. Tony
To: perl5-porters [...] perl.org, "Tony Cook" <tony [...] develop-help.com>
Subject: Re: [perl #133604] 5.29.4 - io/socket.t reports as failing on Windows
Date: Sun, 21 Oct 2018 20:40:11 +0200
From: "Christian Walde" <walde.christian [...] gmail.com>
Download (untitled) / with headers
text/plain 1.7k
On Sun, 21 Oct 2018 13:16:56 +0200, Tony Cook <tony@develop-help.com> wrote: Show quoted text
> On Sun, Oct 21, 2018 at 02:17:28AM -0700, sisyphus (via RT) wrote:
>> Running that test script outside of Test::Harness appears to be ok: >> >> C:\_32\comp\perl-5.29.4>perl t/io/socket.t >> ok 1 - close the socket >> ok 2 - make a tcp socket >> ok 3 - bind works >> ok 4 - getsockname() on bound socket >> # port 52996 >> ok 5 - listen() works >> ok 6 - make accept tcp socket >> ok 7 - accept() works >> ok 8 # skip no fcntl >> ok 9 - close server socket in child >> ok 10 - make child tcp socket >> ok 11 - connect() works >> ok 12 - peer from recv() should be empty or the remote name >> ok 13 - check we received the data >> ok 14 - shutdown() works >> # recv/send :utf8 tests >> ok 15 - make a tcp socket (recv/send :utf8 handling) >> ok 16 - bind works >> ok 17 - getsockname() on bound socket >> # port 52998 >> ok 18 - listen() works >> ok 19 - make accept tcp socket >> recv() isn't allowed on :utf8 handles at t/io/socket.t line 209. >> ok 20 - accept() works >> ok 21 - should die on send to :utf8 socket >> send() isn't allowed on :utf8 handles at t/io/socket.t line 177.
> > No, that's a fail, there's no plan (1..21) because both threads die > before it's produced. >
>> This is the same on both 32-bit and 64-bit builds.
> > Yeah, I'm not sure what the underlying problem is. > > The binmode() before the die in each "process" isn't removing the > :utf8 flag (not the :crlf) from the PerlIO layers. > > Tomorrow I'll add a skip for that block (it's 10pm) and go back to > trying to track down the cause. > > Tony >
Note for context: This was caused specifically by 9704d779004abdb57e3d1c6b82a038eca6221db4 immediately upon introduction and was caught by my Win32 smoker on test-smoke.org -- With regards, Christian Walde
To: Christian Walde <walde.christian [...] gmail.com>
Date: Mon, 22 Oct 2018 15:41:15 +1100
Subject: Re: [perl #133604] 5.29.4 - io/socket.t reports as failing on Windows
From: Tony Cook <tony [...] develop-help.com>
CC: perl5-porters [...] perl.org
On Sun, Oct 21, 2018 at 08:40:11PM +0200, Christian Walde wrote: Show quoted text
> On Sun, 21 Oct 2018 13:16:56 +0200, Tony Cook <tony@develop-help.com> wrote: >
> > On Sun, Oct 21, 2018 at 02:17:28AM -0700, sisyphus (via RT) wrote:
> > > Running that test script outside of Test::Harness appears to be ok: > > > > > > C:\_32\comp\perl-5.29.4>perl t/io/socket.t > > > ok 1 - close the socket > > > ok 2 - make a tcp socket > > > ok 3 - bind works > > > ok 4 - getsockname() on bound socket > > > # port 52996 > > > ok 5 - listen() works > > > ok 6 - make accept tcp socket > > > ok 7 - accept() works > > > ok 8 # skip no fcntl > > > ok 9 - close server socket in child > > > ok 10 - make child tcp socket > > > ok 11 - connect() works > > > ok 12 - peer from recv() should be empty or the remote name > > > ok 13 - check we received the data > > > ok 14 - shutdown() works > > > # recv/send :utf8 tests > > > ok 15 - make a tcp socket (recv/send :utf8 handling) > > > ok 16 - bind works > > > ok 17 - getsockname() on bound socket > > > # port 52998 > > > ok 18 - listen() works > > > ok 19 - make accept tcp socket > > > recv() isn't allowed on :utf8 handles at t/io/socket.t line 209. > > > ok 20 - accept() works > > > ok 21 - should die on send to :utf8 socket > > > send() isn't allowed on :utf8 handles at t/io/socket.t line 177.
> > > > No, that's a fail, there's no plan (1..21) because both threads die > > before it's produced. > >
> > > This is the same on both 32-bit and 64-bit builds.
> > > > Yeah, I'm not sure what the underlying problem is. > > > > The binmode() before the die in each "process" isn't removing the > > :utf8 flag (not the :crlf) from the PerlIO layers. > > > > Tomorrow I'll add a skip for that block (it's 10pm) and go back to > > trying to track down the cause. > > > > Tony > >
> > Note for context: This was caused specifically by 9704d779004abdb57e3d1c6b82a038eca6221db4 immediately upon introduction and was caught by my Win32 smoker on test-smoke.org
The cause of that test failing is fixed by dda4a47798d635b6b0d236c270660c8eacdda2fa. Tony
RT-Send-CC: perl5-porters [...] perl.org
Download (untitled) / with headers
text/plain 154b
On Sun, 21 Oct 2018 21:41:32 -0700, tonyc wrote: Show quoted text
> The cause of that test failing is fixed by > dda4a47798d635b6b0d236c270660c8eacdda2fa.
Closing. Tony
Download (untitled) / with headers
text/plain 313b
Thank you for filing this report. You have helped make Perl better. With the release today of Perl 5.30.0, this and 160 other issues have been resolved. Perl 5.30.0 may be downloaded via: https://metacpan.org/release/XSAWYERX/perl-5.30.0 If you find that the problem persists, feel free to reopen this ticket.


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

For issues related to this RT instance (aka "perlbug"), please contact perlbug-admin at perl.org