#!perl
use Cassandane::Tiny;

sub test_service_bad_name ($self)
{
    xlog $self, "services with bad names (Bug 3654)";
    $self->lemming_service(tag => 'foo');
    $self->lemming_service(tag => 'foo_bar');
    $self->lemming_service(tag => 'foo-baz');
    $self->lemming_service(tag => 'foo&baz');

    # master should exit while adding services, with a message
    # to syslog like this
    #
    # Mar 21 19:53:21 gnb-desktop 0853201/master[8789]: configuration
    # file /var/tmp/cass/0853201/conf/cyrus.conf: bad character '-' in
    # name on line 2
    #
    eval
    {
        $self->start();
    };
    xlog $self, "start failed (as expected): $@" if $@;

    # XXX can't currently check syslog in this case because start() bailed
    # XXX out before we would have started reading it...

    xlog $self, "master should have exited when service verification failed";
    $self->assert(!$self->{instance}->is_running());
}
