#!/bin/sh
set -eu

. "$(dirname "$0")/ferm-lib.sh"

# ------------------------------------------------------------
# PRE-REBOOT PHASE
# ------------------------------------------------------------

if [ -z "${AUTOPKGTEST_REBOOT_MARK:-}" ]; then
    echo "=== BUILD CONFIG AND START ==="

    echo "flush"
    flush
    echo "setup_config"
    setup_config
    echo "flush"
    flush

    echo "systemctl restart ferm.service"
    systemctl restart ferm.service
    echo "systemctl is-active --quiet ferm.service"
    systemctl is-active --quiet ferm.service
else
    wait_after_reboot

    if [ -n "${TESTDEBUG:-}" ]; then
        cat /etc/ferm/ferm.conf
        systemctl status ferm-early.service --no-pager
        journalctl --boot --unit=ferm-early.service
        systemctl status ferm.service --no-pager
        journalctl --boot --unit=ferm.service
        show afterboot
        systemctl restart ferm.service --no-pager
        systemctl status ferm.service --no-pager
        show afterrestart
        ferm --lines /etc/ferm/ferm.conf 2>/dev/null
        show afterferm-lines
        ferm /etc/ferm/ferm.conf 2>/dev/null
        show afterferm
    fi
fi

echo "=== CHECK SUCCESSFUL START ==="

echo "check_present"
check_present

echo "systemctl stop ferm.service"
systemctl stop ferm.service
echo "check_absent"
check_absent

if [ -z "${AUTOPKGTEST_REBOOT_MARK:-}" ] && [ "${MODE:-basic}" = "reboot" ]; then
    echo "=== autopkgtest-reboot ferm-systemd-reboot ==="
    autopkgtest-reboot ferm-systemd-reboot
    exit 0
fi
flush

exit 0
