#!/bin/sh # # This script is used to test watchdog functionality for bsc9131rdb. WATCHDOG=`which watchdog` if [ "x$WATCHDOG" != "x" ]; then echo "PASS: watchdog found" else echo "FAIL: watchdog not found" exit 1 fi WATCHDOG_CONF=/etc/watchdog.conf if [ -f $WATCHDOG_CONF ]; then echo "PASS: watchdog config file found" sed -i '23,23 s/#//' $WATCHDOG_CONF else echo "FAIL: watchdog config file not found" exit 1 fi $WATCHDOG -v /dev/watchdog watchdog_thread=`ps | grep -c 'watchdog -v /dev/watchdog'` if [ $watchdog_thread -eq 2 ]; then echo "PASS: Watchdog daemon started successfully" else echo "FAIL: Failed to start watchdog daemon" exit 1 fi sleep 5s killall watchdog retry=0 while [ $retry -lt 10 ] do watchdog_thread=`ps | grep -c 'watchdog -v /dev/watchdog'` if [ $watchdog_thread -eq 1 ]; then echo "PASS: Watchdog daemon stopped successfully" break; fi sleep 1s retry=`expr $retry + 1` done if [ $retry -eq 10 ]; then echo "FAIL: Failed to stop watchdog daemon" fi found=0 while read line do result=`echo $line | grep -c 'still alive after 1 interval'` if [ $result -eq 1 ]; then echo "PASS: Watchdog is still alive after 1 interval" found=1 fi done < /var/log/messages if [ $found -eq 0 ]; then echo "FAIL: Watchdog is not alive after 1 interval" fi