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



Reply via email to