#!/bin/sh
# Verify that the status command 'initctl status foo' matches three
# instances of tasks called foo:1, foo:2, and foo:3.  It should not
# match the fourth task called foobar.  This is a regression test to
# ensure issue #275 doesn't happen again.
set -eu

TEST_DIR=$(dirname "$0")

test_teardown()
{
    say "Running test teardown."
    run "rm -f $FINIT_CONF"
}

test_init()
{
    run "echo '# Three foo and one bar enter Finit' > $FINIT_CONF"
}

test_add_one()
{
    service=$1

    say "Add service stanza '$service' to $FINIT_CONF ..."
    run "echo '$service' >> $FINIT_CONF"
}

# shellcheck source=/dev/null
. "$TEST_DIR/lib/setup.sh"

test_init

test_add_one "task manual:yes name:foo :1 serv -- Foo \#1"
test_add_one "task manual:yes name:foo :2 serv -- Foo \#2"
test_add_one "task manual:yes name:foo :3 serv -- Foo \#3"
test_add_one "task manual:yes name:foobar serv -- Foobar"

say 'Reload Finit'
#run "initctl debug"
run "initctl reload"
run "initctl status"

#run "initctl status"
#run "ps"
#run "initctl status serv"

assert_num_services 3 foo
assert_desc "Foobar" foobar
assert_desc "Foo #1" foo:1

