=head1 VERSION
-Version 1.15
+Version 1.18
=cut
-our $VERSION = '1.15';
+our $VERSION = '1.18';
=head1 DESCRIPTION
=cut
+use Test::Valgrind::Util;
+
use base qw<Test::Valgrind::Component Test::Valgrind::Carp>;
=head1 METHODS
my %args = @_;
if ($class eq __PACKAGE__) {
- my $action = delete $args{action} || 'Test';
- $action =~ s/[^\w:]//g;
- $action = __PACKAGE__ . "::$action" if $action !~ /::/;
- $class->_croak("Couldn't load action $action: $@")
- unless eval "require $action; 1";
+ my ($action, $msg) = Test::Valgrind::Util::validate_subclass(
+ $args{action} || 'Test',
+ );
+ $class->_croak($msg) unless defined $action;
return $action->new(%args);
}