# 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;