#!/bin/bash
#
# snuk-systemd
#

VERSION="1.0"

FAIL=0

check() {

    local FILE="$1"

    if [[ -e "$FILE" ]]
    then
        printf "[OK]   %s\n" "$FILE"
    else
        printf "[FAIL] %s\n" "$FILE"
        ((FAIL++))
    fi
}

echo
echo "Snuk Systemd Runtime Validator v$VERSION"
echo

check /usr/lib64/systemd/libsystemd-core-261.so
check /usr/lib64/systemd/libsystemd-shared-261.so

echo

if systemctl --quiet is-system-running
then
    echo "[OK]   system is running"
else
    echo "[WARN] system not fully running"
fi

FAILED=$(systemctl --failed --no-legend 2>/dev/null | wc -l)

if [[ $FAILED -eq 0 ]]
then
    echo "[OK]   no failed units"
else
    echo "[WARN] $FAILED failed units"
fi

echo

if [[ $FAIL -eq 0 ]]
then
    echo "systemd runtime verified."
    exit 0
else
    echo "systemd runtime problems found."
    exit 1
fi
