Ok, picked up the committers challenge... :-) I setup a working Win32/MSVC environment for parrot, and I'm trying to address the Win32 related tickets.
I started with RT #52198, test failures on Win32. There are still many .t files with failures. The first one I started to look into is t/pmc/complex.t. Two things here: 1) test n.48 passes for me. It was marked as failing for Win32. Following patch removes the skip block. -----------------8<--------------------------- Index: t/pmc/complex.t =================================================================== --- t/pmc/complex.t (revisione 31978) +++ t/pmc/complex.t (copia locale) @@ -1607,9 +1607,6 @@ done OUTPUT -SKIP: { - skip 'failling on win32' => 1 if $^O =~ m/win32/i; - pir_output_is( << 'CODE', << 'OUTPUT', "sinh of complex numbers" ); .macro DoIt(val, res) c = .val @@ -1653,8 +1650,6 @@ done OUTPUT -} - pir_output_is( << 'CODE', << 'OUTPUT', "cosh of complex numbers" ); .macro DoIt(val, res) c = .val -----------------8<--------------------------- 2) The last test, regarding subclasses of Complex still fails. Diagnostic output follows: -----------------8<--------------------------- ok 48 - sinh of complex numbers ok 49 - cosh of complex numbers ok 50 - tanh of complex numbers ok 51 - coth of complex numbers ok 52 - sech of complex numbers ok 53 - csch of complex numbers not ok 54 - add using subclass of Complex (RT \#59630) # TODO TODO # Looks like you failed 1 test of 54. # Failed (TODO) test 'add using subclass of Complex (RT \#59630)' # at t\pmc\complex.t line 1866. # got: '1+2i # 3+4i # 1+2i # ' # expected: '1+2i # 3+4i # 4+6i # ' dubious Test returned status 1 (wstat 256, 0x100) DIED. FAILED test 5Failed 1/54 tests, 98.15% okay (less 4 skipped tests: 49 okay, 90.74%)
Failed Test Stat Wstat Total Fail List of Failed ------------------------------------------------------------------------------- t\pmc\complex.t 1 256 54 1 5 4 subtests skipped. Failed 1/1 test scripts. 1/54 subtests failed. Files=1, Tests=54, 3 wallclock secs ( 0.00 cusr + 0.00 csys = 0.00 CPU) Failed 1/1 test programs. 1/54 subtests failed. -----------------8<--------------------------- I tried to understand a bit more. Went to t/pmc/integer.t to look for a similar subclass test. Didn't find it. I added it, and it fails in the same way. Patch follows: -----------------8<--------------------------- Index: t/pmc/integer.t =================================================================== --- t/pmc/integer.t (revisione 31978) +++ t/pmc/integer.t (copia locale) @@ -7,7 +7,7 @@ use lib qw( . lib ../lib ../../lib ); use Test::More; -use Parrot::Test tests => 19; +use Parrot::Test tests => 20; =head1 NAME @@ -539,6 +539,36 @@ 2147483600 is greater than -1000 OUTPUT +pir_output_is( << 'CODE', << 'OUTPUT', "add using subclass of Integer"); +.sub main + $P0 = subclass 'Integer', 'MyInteger' + + .local pmc a, b, c + + a = new 'MyInteger' + a = 1 + say a + + b = new 'MyInteger' + b = 2 + say b + + c = add a, b + say c +.end + +.namespace ['MyInteger'] + +.sub 'init' :vtable + $P1 = new 'Integer' +.end + +CODE +1 +2 +3 +OUTPUT + # Local Variables: # mode: cperl # cperl-indent-level: 4 -----------------8<--------------------------- I guess this is something a bit beyond my possibilities, but any hint to put me on the right track? -- Cosimo
add_subclass_test.diff
Description: Binary data
complex_skip_win32.diff
Description: Binary data