#!/bin/bash
#
# (c) 2004-2007 Instituto Superior Técnico
#
# License: GPL-2
#

# author:
# Jose Calhariz <jose.calhariz@tagus.ist.utl.pt>

# Script para verificar o estado da maquina como servidor.  Aqui ficam
# as funções auxiliares e em /etc/cal-scripts/checkserver.d ficam
# pequenos scripts para verificar o espaço livre.

function usage () {
    echo "$0: [-h|--help] [-q] [-a] [-t test]"
    echo "-h - this help message"
    echo "-l - list available tests"
    echo "-q - silent execution"
    echo "-a - run all tests"
    echo "-t - run test"
}

function verbosemsg () {
    case $VERBOSE in 
	yes | YES)
	    echo $*
	    ;;
	*)
    esac
}

TEST=all

while [ $# -ge 1 ] ; do
    case $1 in
	-h|--help)
	    usage
	    exit 0
	    ;;
	-q)
	    if [ "A$1" == "A-q" ] ; then
		VERBOSE=NO
	    else
		VERBOSE=YES
	    fi
	    shift
	    ;;
	-a)
	    TEST=all
	    shift
	    ;;
	-t)
	    TEST=$2
	    shift
	    shift
	    ;;
	-l)
	    pushd /etc/cal-scripts/checkserver.d/
	    ls
	    popd
	    shift
	    exit 0
	    ;;
	*)
	    usage
    esac
done

export NTPSERVERS NTPSRVTEST
source /etc/cal-scripts/checkserver.conf

case $TEST in
    all)
	for s in /etc/cal-scripts/checkserver.d/* ; do
	    verbosemsg $s
	    source "$s"
	done
    ;;
    *)
	if [ -r "/etc/cal-scripts/checkserver.d/$TEST" ] ; then
	    verbosemsg "/etc/cal-scripts/checkserver.d/$TEST"
	    source "/etc/cal-scripts/checkserver.d/$TEST"
	fi
esac
