Skip Menu |

This queue is for tickets about the Net_SSLeay.pm CPAN distribution.

Report information
The Basics
Id: 8791
Status: resolved
Priority: 0/
Queue: Net_SSLeay.pm

People
Owner: MIKEM [...] cpan.org
Requestors: corion [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in:
  • 1.21
  • 1.22
  • 1.23
  • 1.24
  • 1.25
  • 1.30
Fixed in: (no value)



Subject: make test fails on Win32
The test.pl fails on Win32 for the tests that employ a fork() call due to (two) segfaults. That's not all too surprising, as the fork() emulation most likely doesn't copy the static stuff properly. The "fix" would be to not do that then, that is, to skip these tests under Win32. I have done some non-forking client/server testing in HTTP::LocalServer, and if you're interested, I can work up some test code from that. Some code for skipping the offending test under Windows would be: SKIP: { if ($^O =~ /MSWin32/i) { print "OK\n"; last SKIP; }; unless ($pid = fork) { print "\tSpawning a TCP test server on port 1211, pid=$$...\n" if $trace; $redir = $trace<3 ? '>>tcpecho.log 2>&1' : ''; exec("@perl examples/tcpecho.pl 1211 $redir"); } sleep 1; # if server is slow $res = `@perl examples/tcpcat.pl 127.0.0.1 1211 ssleay-tcp-test`; print $res if $trace>1; print &test('5tcp', ($res =~ /SSLEAY-TCP-TEST/)); }; Below is the version of Perl I'm using. I linked the libraries statically against the latest OpenSSL files (0.9.7e), because I'm working on an all-inclusive distribution that includes the Perl and the OpenSSL libraries. I also experienced the same problems with Perl 5.8.4 and the precompiled OpenSSL DLL. Have fun, -max C:\Projekte\Net-SSLeay-Compact>perl -V Summary of my perl5 (revision 5 version 8 subversion 5) configuration: Platform: osname=MSWin32, osvers=4.0, archname=MSWin32-x86-multi-thread uname='' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef usethreads=undef use5005threads=undef useithreads=define usemultiplicity=define useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cl', ccflags ='-nologo -GF -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DE S_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX', optimize='-MD -Zi -DNDEBUG -O1', cppflags='-DWIN32' ccversion='', gccversion='', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='__int64', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='link', ldflags ='-nologo -nodefaultlib -debug -opt:ref,icf -libpath:"c:\perl\5.8.5\lib\CORE " -machine:x86' libpth="C:\Programme\Microsoft Visual C++ Toolkit 2003\lib" libs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib sh ell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.lib o dbc32.lib odbccp32.lib msvcrt.lib perllibs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.li b shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.l ib odbc32.lib odbccp32.lib msvcrt.lib libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl58.lib gnulibc_version='undef' Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -debug -opt:ref,icf -libpath:"c:\perl\5.8 .5\lib\CORE" -machine:x86' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES PERL_IMPLICIT_CONTEXT PERL_IMPLICI T_SYS Built under MSWin32 Compiled at Aug 6 2004 13:59:40 @INC: c:/perl/5.8.5/lib c:/perl/site/5.8.5/lib .
RT-Send-CC: net-ssleay-devel [...] lists.alioth.debian.org
On Wed Dec 08 16:30:50 2004, CORION wrote: Show quoted text
> The test.pl fails on Win32 for the tests that employ a fork() call due > to (two) segfaults. That's not all too surprising, as the fork() > emulation most likely doesn't copy the static stuff properly. The > "fix" would be to not do that then, that is, to skip these tests > under Win32. > > I have done some non-forking client/server testing in > HTTP::LocalServer, and if you're interested, I can work up some > test code from that.
I would prefer non-forking testing in favour of simply skiping everything, but unfortunately I cant find a Module called HTTP::LocalServer on CPAN. Can you please point me to its test suite? TIA, Flo
Subject: Re: [rt.cpan.org #8791] make test fails on Win32
Date: Sun, 22 Jan 2006 15:12:28 +0100
To: bug-Net_SSLeay.pm [...] rt.cpan.org
From: Max Maischein <corion [...] cpan.org>
Hello Florian, Show quoted text
>>The test.pl fails on Win32 for the tests that employ a fork() call due >> to (two) segfaults. That's not all too surprising, as the fork() >> emulation most likely doesn't copy the static stuff properly. The >> "fix" would be to not do that then, that is, to skip these tests >> under Win32. >> >>I have done some non-forking client/server testing in >> HTTP::LocalServer, and if you're interested, I can work up some >> test code from that.
> > > I would prefer non-forking testing in favour of simply skiping > everything, but unfortunately I cant find a Module called > HTTP::LocalServer on CPAN. Can you please point me to its test suite?
It lives a secret life as the test suite of WWW::Mechanize::Shell. The core file is at http://search.cpan.org/src/CORION/WWW-Mechanize-Shell-0.36/inc/Test/HTTP/ -max