A number of tests that we do not run during CI (lack of RDBMS) have run-time
tests concerning backcompat along the lines of:
$schema->class('Artist')->load_components('PK::Auto...')
The above causes the class' mro to be switched after $schema instantiation
and subsequently triggers the sanitychecker. Instead of ripping these lines
out (without a way to test them) - simply augment the ::Artist based set of
classes to preempt the check failures in the first place.
push @err, {
class => $class,
- isa => $desc->{isa},
+ initial_linear_isa => $desc->{linear_isa},
+ current_linear_isa => do { (undef, my @isa) = @{ mro::get_linear_isa($class) }; \@isa },
initial_mro => $desc->{mro}{type},
current_mro => mro::get_mro($class),
affected_methods => $affected_methods,
use DBICTest::Util;
+# FIXME - Carp::Skip should somehow allow for augmentation based on
+# mro::get_linear_isa or somesuch...
sub _skip_namespace_frames { '^DBICTest' }
1;
use strict;
use base 'DBICTest::BaseResult';
+use mro 'c3';
+
use DBICTest::Util 'check_customcond_args';
__PACKAGE__->table('artist');
use strict;
use base 'DBICTest::Schema::Artist';
+use mro 'c3';
+
__PACKAGE__->table(__PACKAGE__->table);
__PACKAGE__->source_name('SourceNameArtists');
use strict;
use base 'DBICTest::Schema::Artist';
+use mro 'c3';
__PACKAGE__->table(__PACKAGE__->table);
use strict;
use base qw/DBICTest::Schema::Artist/;
+use mro 'c3';
__PACKAGE__->table('dummy');