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 5
Failed 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

Attachment: add_subclass_test.diff
Description: Binary data

Attachment: complex_skip_win32.diff
Description: Binary data

Reply via email to