# vim:ft=perl use strict; use warnings; use parent qw(Ubic::Multiservice); use Ubic::Service::Common; sub new { return bless {} => shift; } my $eval_id = 1; sub simple_service { my ($self, $name) = @_; if ($name eq 'abc') { return Ubic::Service::Common->new({ start => sub { die }, stop => sub { die }, status => sub { die }, }); } elsif ($name eq 'broken') { my $content = "package UbicService".($eval_id++)."; sub f () { return 123; } die 'compilation failed'; "; eval $content; die "failed"; } } sub has_simple_service { my ($self, $name) = @_; return (grep { $name eq $_ } $self->service_names); } sub service_names { my ($self) = @_; return qw/ abc broken /; } sub multiop { return 'protected'; } __PACKAGE__->new;