Skip Menu |

This queue is for tickets about the Test-Trap CPAN distribution.

Report information
The Basics
Id: 21688
Status: resolved
Worked: 8 hours (480 min)
Priority: 0/
Queue: Test-Trap

People
Owner: ebhanssen [...] allverden.no
Requestors: alexchorny [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: (no value)
Fixed in: (no value)



Subject: tests fail on Win32
ActiveState perl v5.8.7 built for MSWin32-x86-multi-thread Binary build 813 Test::Trap v0.0.17 Attached is test log with errors. Also Perl dies on 08-fork.t. Do you run tests with fork under taint? ------- Alexandr Ciornii, http://chorny.net
Subject: error.log
Download error.log
application/octet-stream 3.4k

Message body not shown because it is not plain text.

On Mon Sep 25 06:19:23 2006, alexchorny@gmail.com wrote: Show quoted text
> ActiveState perl v5.8.7 built for MSWin32-x86-multi-thread > Binary build 813 > Test::Trap v0.0.17 > Attached is test log with errors.
Thank you for the report! There seems to be three issues, and I believe I have identified two of them (in one of the libraries, I was missing a binmode, and in one of the tests, I forgot to check if ualarm was availible). I think I have fixed these in SVN, but I don't have windows availible at the moment, so I cannot yet test it myself. The third issue has me baffled: Show quoted text
> Also Perl dies on 08-fork.t. Do you run tests with fork under taint?
For some or other reason, I wasn't (no -T on t/08-fork.t shebang). In SVN, I have since added the -T. But what difference that could possibly make, I have no idea. I'll look into it when I get back. Meanwhile, I suppose I'll prepare a release with the two fixes I do think I have.
From: Alexandr Ciornii <alexchorny [...] gmail.com>
On Sep 26 19:25:31 2006, EBHANSSEN wrote: Show quoted text
> I think I have fixed these in SVN, but I don't have windows > availible at the moment, so I cannot yet test it myself.
You can send me it to my e-mail, I will test it. Show quoted text
> The third issue has me baffled: >
> > Also Perl dies on 08-fork.t. Do you run tests with fork under taint?
> > For some or other reason, I wasn't (no -T on t/08-fork.t > shebang). In SVN, I have since added the -T. But what > difference that could possibly make, I have no idea.
perl -Te "fork" dies on MSWin32. It's a known error.
On Wed Sep 27 04:33:03 2006, alexchorny@gmail.com wrote: Show quoted text
> On Sep 26 19:25:31 2006, EBHANSSEN wrote:
> > I think I have fixed these in SVN, but I don't have windows > > availible at the moment, so I cannot yet test it myself.
> You can send me it to my e-mail, I will test it.
Thanks for the offer, but I've just prepared and released a new version. Release often, right? Show quoted text
> > The third issue has me baffled: > >
> > > Also Perl dies on 08-fork.t. Do you run tests with fork under taint?
> > > > For some or other reason, I wasn't (no -T on t/08-fork.t > > shebang). In SVN, I have since added the -T. But what > > difference that could possibly make, I have no idea.
> > perl -Te "fork" dies on MSWin32. It's a known error.
Ah -- the other way then. Okay, it's not included in my new release. But since that is how it was in the failing release, that's no help. For now I'll just mark those tests as TODO & SKIP on Windows, and just SKIP where fork() is not implemented (I'd forgotten that too -- whoops!). (The libraries themselves do not fork -- I'm just testing that they behave with code that does.) I think I'll need to experiment a little with it to figure out what's going wrong. It'll be another two weeks or so, and meanwhile, unless unexpected inspiration strikes, these test will be TODO & SKIP. Eirik -- Eirik Berg Hanssen, ebhanssen@allverden.no Just this .sig then nothing more
From: Alexandr Ciornii <alexchorny [...] gmail.com>
On Sep 27 17:43:05 2006, EBHANSSEN wrote: Show quoted text
> Thanks for the offer, but I've just prepared and released > a new version. Release often, right?
0.0.19 - pass. Show quoted text
> For now I'll just mark those tests as TODO & SKIP on Windows, > and just SKIP where fork() is not implemented (I'd forgotten > that too -- whoops!).
Note: $Config{d_fork}=undef on my Perl. Same for 'd_vfork'. But it has fork. d_fork - it's for C programs. Show quoted text
> I think I'll need to experiment a little with it to figure > out what's going wrong. It'll be another two weeks or so, > and meanwhile, unless unexpected inspiration strikes, these > test will be TODO & SKIP.
If you need testing monkey - just send archive. ------- Alexandr Ciornii, http://chorny.net
Subject: Re: [rt.cpan.org #21688] tests fail on Win32
Date: Sat, 30 Sep 2006 00:50:54 +0200
To: bug-Test-Trap [...] rt.cpan.org
From: Eirik Berg Hanssen <ebhanssen [...] allverden.no>
"alexchorny@gmail.com via RT" <bug-Test-Trap@rt.cpan.org> writes: Show quoted text
> On Sep 27 17:43:05 2006, EBHANSSEN wrote:
>> Thanks for the offer, but I've just prepared and released >> a new version. Release often, right?
> 0.0.19 - pass.
Great -- thanks! The binmode and ualarm issues should be closed then. Just the fork issue left here. Show quoted text
>> For now I'll just mark those tests as TODO & SKIP on Windows, >> and just SKIP where fork() is not implemented (I'd forgotten >> that too -- whoops!).
> Note: $Config{d_fork}=undef on my Perl. Same for 'd_vfork'. But it has > fork. d_fork - it's for C programs.
True, but d_fork also indicates that Perl's fork() is implemented by way of C's fork() -- the so-called "real fork". Other forks -- "pseudo forks" -- are only implemented on Windows, I believe. Correct me if I'm wrong, please. (For starters, "Windows" possibly covers WinCE and NetWare too, but I'll worry about those two when I see better just what is going wrong here.) (I think d_vfork is irrelevant -- it was once used to implement Perl's system() when C's fork() was not availible, and qx// too, I suppose, but I don't think Perl's fork() was ever implemented by way of vfork() -- or at least not recently.) Eirik -- Eirik Berg Hanssen, Eirik-Berg.Hanssen@allverden.no Just this .sig then nothing more
The third issue seems to be a bug in perl's fork() emulation on Windows: http://rt.perl.org/rt3//Public/Bug/Display.html?id=40565 I have worked around it since v0.0.20, I believe. It tests okay on my installed versions of perl, whether Linux or Windows. (There are still issues with the fork() emulation, but those seem to be more fundamental. Nothing to do about it. Plus I think they're only affecting the new systemsafe output trap strategy.) Eirik -- Eirik Berg Hanssen, ebhanssen@allverden.no Just this .sig then nothing more
The original issues raised are fixed long ago. After pondering this on-and-off for a few months, I'm fairly certain these last issues I found with fork emulation are won't-fixes. Hence, ticket closed. Eirik -- Eirik Berg Hanssen, ebhanssen@allverden.no Just this .sig then nothing more