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
C<name> 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