blob: 7a070e400c4f0285e8482985f878e73e46acb18a [file] [log] [blame]
#!/bin/sh
# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
# autotest control init script, intended for Debian/Ubuntu type boxes.
#
# copy this to /etc/init.d/autotest, then run this:
#
# update-rc.d autotest start 95 2 3 4 5 . stop 90 0 1 6 .
BASE_DIR=/usr/local/autotest
BECOME_USER=chromeos-test
# Setup PATH so Autotest can run gsutil and cros_sdk for stack trace generation.
PATH_EXTRAS=$PATH:/usr/local/google/gsutil:/usr/local/google/depot_tools
if (test -r /lib/lsb/init-functions)
then
. /lib/lsb/init-functions
else
echo "This script requires /lib/lsb/init-functions"
exit 1
fi
# ---
autotest_start() {
cd /tmp
log_daemon_msg "Starting monitor_db_babysitter"
( ulimit -v 2048000 ; PATH=$PATH_EXTRAS USER=$BECOME_USER USERNAME=$USER \
start-stop-daemon --start --quiet --chuid $BECOME_USER \
--background --exec $BASE_DIR/scheduler/monitor_db_babysitter )
}
stop_daemon() {
PID_NAME=$1
DAEMON_NAME=$2
log_daemon_msg "Stopping $DAEMON_NAME"
start-stop-daemon --stop --quiet --pidfile $BASE_DIR/$PID_NAME.pid
}
autotest_stop() {
stop_daemon monitor_db_babysitter babysitter
stop_daemon monitor_db scheduler
}
case "$1" in
start)
autotest_start
;;
stop)
autotest_stop
;;
restart)
autotest_stop
sleep 2
autotest_start
;;
*)
echo "Usage: $0 start|stop|restart"
exit 1
esac