Craig A. Berry wrote:
At 1:28 PM -0500 9/29/07, John E. Malmberg wrote:


      [-.lib.Module.Build.t]xs.t

Can't locate object method "blib
" via package "Module::Build" at /PROJECT_ROOT/PERL-BLEAD/lib/Module/Build/Base.
pm line 2210.
# Looks like you planned 22 tests but only ran 15.

This works find when run in debug, so I am still trying to figure
out  what is wrong. The extra line break in the error message may be a clue.

I can confirm that calling $self->blib works in the debugger but not
outside of it.  And I finally figured out that the way $self->foo
gets translated internally into $self->{properties}{foo} is that
Module::Build::Base::add_property creates an anonymous subroutine on
the fly for each property as the property is created.  Then it
deanonymizes it by dong a typeglob assignment like so:

         *{"$class\::$property"} = sub {
            my $self = shift;
            $self->{properties}{$property} = shift if @_;
            return $self->{properties}{$property};
          }

So most likely we are clobbering the typeglob somehow, but heck if I know how.

Most of the other Module::Build tests call $self->blib and it works on those cases.

So this is something unique to the xs.t test.

Since the debugger is messing things up, my next plan of attack is to start adding print STDERR statements.

-John
[EMAIL PROTECTED]
Personal Opinion Only

Reply via email to