#!/bin/bash
set -ex
set -o pipefail

exec >&2

save-logs () {
    if [ "x$AUTOPKGTEST_ARTIFACTS" = x ]; then return; fi
    a="$AUTOPKGTEST_ARTIFACTS"
    mkdir -p "$a"/{log,etc}
    cp -a /var/log/sauce* "$a/log/."
    cp -a /etc/. "$a/etc/."
}

trap '
    exit_rc=$?
    set +e
    save-logs
    exit $exit_rc
' EXIT

check-status () {
    # if sauceadmin works at all, it's running
    output=$(sauceadmin 'expr 2+3')
    test "x $output" = "x => 5"
}

resume- () {
    sed <example-config.text >/etc/sauce/config '
    s/^local_interface .*/local_interface 127.0.0.1/;
'

    dd if=/dev/urandom bs=1 count=8 | wc -c

    mkdir -p /etc/authbind/byport
    touch /etc/authbind/byport/25
    chown root:mail /etc/authbind/byport/25
    chmod 554 /etc/authbind/byport/25

    ed <<END /etc/sauce/sys-config
/exit 0
d
a
SAUCE_USER=mail
SAUCE_GROUP=mail
.
w
END

    egrep . /etc/sauce/sys-config
    bash -xe /etc/init.d/sauce start

    check-status

    /tmp/autopkgtest-reboot after-reboot-1
}

resume-after-reboot-1 () {
    check-status
}

resume-"$AUTOPKGTEST_REBOOT_MARK"
