Re: [PATCH] Small test case exception for ponie
Arthur Bergman [EMAIL PROTECTED] wrote: Aha, that explains it, I assumed that genclass produced something that was correct, apparently it didn't :), fixed now and I withdraw my patch. Ah, that explains it too. Sorry. Fixed genclass.pl - thanks. (I'm almost always takint an existing similar PMC and generate a new one out from that ;) Arthur leo
Re: [PATCH] Small test case exception for ponie
On Wednesday, September 10, 2003, at 05:55 pm, Leopold Toetsch wrote: From: Leopold Toetsch [EMAIL PROTECTED] Date: Wed Sep 10, 2003 5:55:59 pm Europe/London To: [EMAIL PROTECTED] (Arthur Bergman) Cc: [EMAIL PROTECTED] Subject: Re: [PATCH] Small test case exception for ponie Reply-To: [EMAIL PROTECTED] Arthur Bergman [EMAIL PROTECTED] wrote: Hi, I am adding an additional pmc (Perl5LV), however a test fails t/pmc/pmc...NOK 75# Failed test (t/pmc/pmc.t at line 1650) # got: 'Perl5LV PMCs have incorrect name # ' # expected: 'All names and ids ok. # ' t/pmc/pmc...ok 91/91# Looks like you failed 1 tests of 91. This is the builtin ponie protection ;-) These come to my mind: $ make realclean perl Configure.pl ... (We are still missing some dependencies) If that doesn't: A PMCs name() is coming from the name() vtable, which is handled in default.pmc. default.name() returns vtable-whoami. This is a STRING set up by pmc2c.pl. You can see these in $class.c files. Normally a class shouldn't handle the name() and type() vtables, the default implementation does it. If you have a base class, that has these functions then you must handle it in all your derived classes. Finally: $ perl classes/pmc2c.pl --tree classes/perl*.pmc should give you a class hierarchy tree. If that still isn't: then set a break point in Parrot_class_name, where the class is that one you see in Perl5LV.c:temp_base_vtable in the Cname slot. HTH leo Aha, that explains it, I assumed that genclass produced something that was correct, apparently it didn't :), fixed now and I withdraw my patch. (I just removed the name and id functions and inherit them instead) Arthur
Re: [PATCH] Small test case exception for ponie
Arthur Bergman [EMAIL PROTECTED] wrote: Hi, I am adding an additional pmc (Perl5LV), however a test fails t/pmc/pmc...NOK 75# Failed test (t/pmc/pmc.t at line 1650) # got: 'Perl5LV PMCs have incorrect name # ' # expected: 'All names and ids ok. # ' t/pmc/pmc...ok 91/91# Looks like you failed 1 tests of 91. This is the builtin ponie protection ;-) These come to my mind: $ make realclean perl Configure.pl ... (We are still missing some dependencies) If that doesn't: A PMCs name() is coming from the name() vtable, which is handled in default.pmc. default.name() returns vtable-whoami. This is a STRING set up by pmc2c.pl. You can see these in $class.c files. Normally a class shouldn't handle the name() and type() vtables, the default implementation does it. If you have a base class, that has these functions then you must handle it in all your derived classes. Finally: $ perl classes/pmc2c.pl --tree classes/perl*.pmc should give you a class hierarchy tree. If that still isn't: then set a break point in Parrot_class_name, where the class is that one you see in Perl5LV.c:temp_base_vtable in the Cname slot. HTH leo
[PATCH] Small test case exception for ponie
Hi, I am adding an additional pmc (Perl5LV), however a test fails t/pmc/pmc...NOK 75# Failed test (t/pmc/pmc.t at line 1650) # got: 'Perl5LV PMCs have incorrect name # ' # expected: 'All names and ids ok. # ' t/pmc/pmc...ok 91/91# Looks like you failed 1 tests of 91. t/pmc/pmc...dubious Test returned status 1 (wstat 256, 0x100) DIED. FAILED test 75 Failed 1/91 tests, 98.90% okay so this patch just ignores Perl5 types, (if someone knows why the test fails and how I can fix it, that would of course be even better :) Arthur diff -u -r1.59 pmc.t --- t/pmc/pmc.t 9 Sep 2003 10:25:43 - 1.59 +++ t/pmc/pmc.t 10 Sep 2003 15:48:58 - @@ -1629,6 +1629,7 @@ while (my ($type, $id) = each %pmc_types) { next if $type eq Iterator; next if $type eq Ref; +next if $type =~ /^Perl5/; #ignore the perl5 pmcs my $set_ro = ($type =~ /^Const\w+/) ? EOPASM : ''; new P10, .PerlInt inc P10