develooper Front page | perl.wxperl.users | Postings from February 2013

Re: Wx Test Failures with 2.9.4 on Strawberry Perl

Thread Previous | Thread Next
From:
Mark Dootson
Date:
February 21, 2013 17:43
Subject:
Re: Wx Test Failures with 2.9.4 on Strawberry Perl
Message ID:
51265C7D.4060200@znix.com
Hi,

You need a more recent Strawberry.

5.14.2.1 (November 2011) as included with DWIM Perl contains a gcc tool 
chain that is not compatible with Wx / wxWidgets 2.9.x builds.

5.14.3 (October 2012) onwards or any 5.16 Strawberry release are compatible.

I'm sure the issue is to do with C++ exception handling in wxWidgets 
2.9.x and using SJLJ exceptions.

The gcc in 5.14.2.1 always links the C++ library statically which 
invariably causes problems with exceptions across dlls.

As gcc on Windows from 4.5.x onwards solves this problem and current 
Strawberry releases have a compatible gcc (4.6.3), it is not on my list 
to noodle around with this further.

Regards

Mark

On 21/02/2013 16:44, Smylers wrote:
> The Wx module's tests are failing for me with wxWidgets 2.9.4 on Dwim
> Perl (which is Strawberry Perl 5.14 bundled with some other stuff) on
> Windows 7.
>
> Any suggestions for fixing this (or the next step in debugging it)
> gratefully received.
>
> I built and installed wxWidgets 2.9.4 using the Alien::wxWidgets module,
> and that all went fine. Then I set WXDIR and WXWIN, and compiling the Wx
> module (version 0.9917) appears to go OK. But then some of the tests
> fail -- full output pasted at the end. For each failing test program a
> Windows error window pops up saying 'perl.exe has stopped working:
> Windows is collecting more information about the problem'.
>
> Running prove directly on the first .t file that files _mostly_ gives
> this output (along with one of those perl.exe crash windows):
>
>    >C:\Dwimperl\perl\bin\perl C:\Dwimperl\perl\bin\prove.bat -v t\03_event.t
>    t\03_event.t ..
>    1..17
>    ok 1 - event succesfully received
>    ok 2 - no object destroyed
>    ok 3 - still no object destroyed
>    Dubious, test returned 5 (wstat 1280, 0x500)
>    Failed 14/17 subtests
>
>    Test Summary Report
>    -------------------
>    t\03_event.t (Wstat: 1280 Tests: 3 Failed: 0)
>      Non-zero exit status: 5
>      Parse errors: Bad plan.  You planned 17 tests but ran 3.
>    Files=1, Tests=3,  2 wallclock secs ( 0.09 usr +  0.17 sys =  0.27 CPU)
>    Result: FAIL
>
> However, on a few attempts it has successfully run all 17 tests and
> given a PASS at the end -- even when run consecutively just by pressing
> Up then Enter, a FAIL may be followed by a PASS or vice versa.
>
>    >dmake test
>    dmake:  Warning: -- Found file corresponding to virtual target [cpp\ovl_const.cpp].
>    dmake:  Warning: -- Found file corresponding to virtual target [cpp\ovl_const.h].
>    C:\Dwimperl\perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib\lib', 'blib\arch')" t/*.t
>    t/01_load.t ........... ok
>    t/02_inheritance.t .... ok
>    t/03_event.t .......... Dubious, test returned 5 (wstat 1280, 0x500)
>    Failed 14/17 subtests
>    t/04_userdata.t ....... ok
>    t/05_timer.t .......... ok
>    t/06_loadxpm.t ........ ok
>    t/07_overload.t ....... ok
>    t/08_ovl_func.t ....... Dubious, test returned 5 (wstat 1280, 0x500)
>    Failed 230/230 subtests
>    t/09_create_delete.t .. Dubious, test returned 5 (wstat 1280, 0x500)
>    Failed 8/8 subtests
>    t/10_oor.t ............ Dubious, test returned 5 (wstat 1280, 0x500)
>    Failed 42/58 subtests
>    t/11_twostage.t ....... Dubious, test returned 5 (wstat 1280, 0x500)
>    Failed 2/2 subtests
>    t/12_pod.t ............ skipped: Author tests
>    t/13_nbksizer.t ....... Dubious, test returned 5 (wstat 1280, 0x500)
>    All 3 subtests passed
>    t/14_eh_die.t ......... Dubious, test returned 5 (wstat 1280, 0x500)
>    All 6 subtests passed
>    t/15_threads.t ........ ok
>    t/16_stream.t ......... Dubious, test returned 5 (wstat 1280, 0x500)
>    Failed 8/8 subtests
>    t/17_thread_evt.t ..... Dubious, test returned 5 (wstat 1280, 0x500)
>    All 2 subtests passed
>    t/18_unicode.t ........ Dubious, test returned 5 (wstat 1280, 0x500)
>    All 12 subtests passed
>            (less 4 skipped subtests: 8 okay)
>    t/19_overlay.t ........ Dubious, test returned 5 (wstat 1280, 0x500)
>    All 1 subtests passed
>    t/20_ctx_threads.t .... skipped: no GraphicsContext
>    t/21_locale.t ......... ok
>    t/22_interface.t ...... Dubious, test returned 5 (wstat 1280, 0x500)
>    All 1 subtests passed
>    t/zz_distrib.t ........ skipped: Author tests
>
> Doing exactly the same thing with wxWidgets 2.8.12 works fine, with all
> tests passing. (I compiled both versions at once in different
> directories, using local::lib to keep them separate, so am reasonably
> confident I used the same commands with each.)
>
> I only deviated from Wx's INSTALL.pod in using dmake (which seems to
> come with Strawberry Perl) rather than nmake (which doesn't).
>
> Here's the full test output:
>
>    Test Summary Report
>    -------------------
>    t/03_event.t        (Wstat: 1280 Tests: 3 Failed: 0)
>      Non-zero exit status: 5
>      Parse errors: Bad plan.  You planned 17 tests but ran 3.
>    t/04_userdata.t     (Wstat: 0 Tests: 65 Failed: 0)
>      TODO passed:   25, 33, 41, 57
>    t/08_ovl_func.t     (Wstat: 1280 Tests: 0 Failed: 0)
>      Non-zero exit status: 5
>      Parse errors: Bad plan.  You planned 230 tests but ran 0.
>    t/09_create_delete.t (Wstat: 1280 Tests: 0 Failed: 0)
>      Non-zero exit status: 5
>      Parse errors: Bad plan.  You planned 8 tests but ran 0.
>    t/10_oor.t          (Wstat: 1280 Tests: 16 Failed: 0)
>      Non-zero exit status: 5
>      Parse errors: Bad plan.  You planned 58 tests but ran 16.
>    t/11_twostage.t     (Wstat: 1280 Tests: 0 Failed: 0)
>      Non-zero exit status: 5
>      Parse errors: Bad plan.  You planned 2 tests but ran 0.
>    t/13_nbksizer.t     (Wstat: 1280 Tests: 3 Failed: 0)
>      Non-zero exit status: 5
>    t/14_eh_die.t       (Wstat: 1280 Tests: 6 Failed: 0)
>      Non-zero exit status: 5
>    t/16_stream.t       (Wstat: 1280 Tests: 0 Failed: 0)
>      Non-zero exit status: 5
>      Parse errors: Bad plan.  You planned 8 tests but ran 0.
>    t/17_thread_evt.t   (Wstat: 1280 Tests: 2 Failed: 0)
>      Non-zero exit status: 5
>    t/18_unicode.t      (Wstat: 1280 Tests: 12 Failed: 0)
>      Non-zero exit status: 5
>    t/19_overlay.t      (Wstat: 1280 Tests: 1 Failed: 0)
>      Non-zero exit status: 5
>    t/22_interface.t    (Wstat: 1280 Tests: 1 Failed: 0)
>      Non-zero exit status: 5
>    Files=23, Tests=467, 39 wallclock secs ( 0.52 usr +  0.36 sys =  0.88 CPU)
>    Result: FAIL
>    Failed 12/23 test programs. 0/467 subtests failed.
>    dmake:  Error code 255, while making 'test_dynamic'
>
> Thanks.
>
> Smylers
>

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About