Browse Source

updating test

pull/914/head
Daniel Gibbs 9 years ago
parent
commit
6d17df7033
  1. 144
      tests/tests_jc2server.sh

144
tests/tests_jc2server.sh

@ -3,14 +3,21 @@
# Server Management Script # Server Management Script
# Author: Daniel Gibbs # Author: Daniel Gibbs
# Website: https://gameservermanagers.com # Website: https://gameservermanagers.com
version="271215" version="101716"
#### Variables #### #### Variables ####
# Alert Email # Notification Alerts
# (on|off) # (on|off)
# Email
emailalert="off" emailalert="off"
email="" email="[email protected]"
# Pushbullet
# https://www.pushbullet.com/#settings
pushbulletalert="off"
pushbullettoken="accesstoken"
# Steam login # Steam login
steamuser="anonymous" steamuser="anonymous"
@ -44,6 +51,9 @@ engine="avalanche"
rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))"
selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))"
lockselfname=".${servicename}.lock" lockselfname=".${servicename}.lock"
lgsmdir="${rootdir}/lgsm"
functionsdir="${lgsmdir}/functions"
libdir="${lgsmdir}/lib"
filesdir="${rootdir}/serverfiles" filesdir="${rootdir}/serverfiles"
systemdir="${filesdir}" systemdir="${filesdir}"
executabledir="${filesdir}" executabledir="${filesdir}"
@ -59,6 +69,7 @@ logdays="7"
#gamelogdir="" # No server logs available #gamelogdir="" # No server logs available
scriptlogdir="${rootdir}/log/script" scriptlogdir="${rootdir}/log/script"
consolelogdir="${rootdir}/log/console" consolelogdir="${rootdir}/log/console"
consolelogging="on"
scriptlog="${scriptlogdir}/${servicename}-script.log" scriptlog="${scriptlogdir}/${servicename}-script.log"
consolelog="${consolelogdir}/${servicename}-console.log" consolelog="${consolelogdir}/${servicename}-console.log"
@ -70,55 +81,62 @@ consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%d-%m-%Y-%H-%M-
##### Script ##### ##### Script #####
# Do not edit # Do not edit
fn_getgithubfile(){ # Fetches core_dl for file downloads
filename=$1 fn_fetch_core_dl(){
exec=$2 github_file_url_dir="lgsm/functions"
fileurl=${3:-$filename} github_file_url_name="${functionfile}"
filepath="${rootdir}/${filename}" filedir="${functionsdir}"
filedir=$(dirname "${filepath}") filename="${github_file_url_name}"
# If the function file is missing, then download githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${github_file_url_dir}/${github_file_url_name}"
if [ ! -f "${filepath}" ]; then # If the file is missing, then download
if [ ! -f "${filedir}/${filename}" ]; then
if [ ! -d "${filedir}" ]; then if [ ! -d "${filedir}" ]; then
mkdir "${filedir}" mkdir -p "${filedir}"
fi fi
githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${fileurl}"
echo -e " fetching ${filename}...\c" echo -e " fetching ${filename}...\c"
if [ "$(command -v curl)" ]||[ "$(which curl >/dev/null 2>&1)" ]||[ -f "/usr/bin/curl" ]||[ -f "/bin/curl" ]; then # Check curl exists and use available path
: curlpaths="$(command -v curl 2>/dev/null) $(which curl >/dev/null 2>&1) /usr/bin/curl /bin/curl /usr/sbin/curl /sbin/curl)"
for curlcmd in ${curlpaths}
do
if [ -x "${curlcmd}" ]; then
break
fi
done
# If curl exists download file
if [ "$(basename ${curlcmd})" == "curl" ]; then
curlfetch=$(${curlcmd} -s --fail -o "${filedir}/${filename}" "${githuburl}" 2>&1)
if [ $? -ne 0 ]; then
echo -e "\e[0;31mFAIL\e[0m\n"
echo "${curlfetch}"
echo -e "${githuburl}\n"
exit 1
else
echo -e "\e[0;32mOK\e[0m"
fi
else else
echo -e "\e[0;31mFAIL\e[0m\n" echo -e "\e[0;31mFAIL\e[0m\n"
echo "Curl is not installed!" echo "Curl is not installed!"
echo -e "" echo -e ""
exit exit 1
fi
curl=$(curl --fail -o "${filepath}" "${githuburl}" 2>&1)
if [ $? -ne 0 ]; then
echo -e "\e[0;31mFAIL\e[0m\n"
echo "${curl}"
echo -e "${githuburl}\n"
exit
else
echo -e "\e[0;32mOK\e[0m"
fi
if [ "${exec}" ]; then
chmod +x "${filepath}"
fi fi
chmod +x "${filedir}/${filename}"
fi fi
if [ "${exec}" ]; then source "${filedir}/${filename}"
source "${filepath}"
fi
} }
fn_runfunction(){ core_dl.sh(){
fn_getgithubfile "functions/${functionfile}" 1 # Functions are defined in core_functions.sh.
functionfile="${FUNCNAME}"
fn_fetch_core_dl
} }
core_functions.sh(){ core_functions.sh(){
# Functions are defined in core_functions.sh. # Functions are defined in core_functions.sh.
functionfile="${FUNCNAME}" functionfile="${FUNCNAME}"
fn_runfunction fn_fetch_core_dl
} }
core_dl.sh
core_functions.sh core_functions.sh
fn_currentstatus_tmux(){ fn_currentstatus_tmux(){
@ -178,17 +196,19 @@ echo "by Daniel Gibbs"
echo "https://gameservermanagers.com" echo "https://gameservermanagers.com"
echo "=================================" echo "================================="
echo "" echo ""
sleep 1
echo "=================================" echo "================================="
echo "Server Tests" echo "Server Tests"
echo "Using: ${gamename}" echo "Using: ${gamename}"
echo "Testing Branch: $TRAVIS_BRANCH" echo "Testing Branch: $TRAVIS_BRANCH"
echo "=================================" echo "================================="
echo "" echo ""
sleep 1 mkdir "${rootdir}"
mkdir ${rootdir}
echo "0.0 - Enable Dev-Debug"
echo "================================="
echo "Description:"
echo "Enabling dev-debug to display exit codes"
(command_dev_debug.sh)
echo "1.0 - start - no files" echo "1.0 - start - no files"
echo "=================================" echo "================================="
@ -196,9 +216,13 @@ echo "Description:"
echo "test script reaction to missing server files." echo "test script reaction to missing server files."
echo "" echo ""
(command_start.sh) (command_start.sh)
echo "" if [ $? == 0 ]; then
echo "Test complete!" fn_print_fail "Test Failure"
sleep 1 exitcode=1
core_exit.sh
else
fn_print_ok "Test Pass"
fi
echo "" echo ""
echo "1.1 - getopt" echo "1.1 - getopt"
echo "=================================" echo "================================="
@ -208,11 +232,8 @@ echo ""
(core_getopt.sh) (core_getopt.sh)
echo "" echo ""
echo "Test complete!" echo "Test complete!"
sleep 1
echo "" echo ""
echo "2.0 - install" echo "2.0 - install"
echo "=================================" echo "================================="
echo "Description:" echo "Description:"
@ -220,11 +241,8 @@ echo "install ${gamename} server."
fn_autoinstall fn_autoinstall
echo "" echo ""
echo "Test complete!" echo "Test complete!"
sleep 1
echo "" echo ""
echo "3.1 - start" echo "3.1 - start"
echo "=================================" echo "================================="
echo "Description:" echo "Description:"
@ -234,7 +252,6 @@ fn_setstatus
command_start.sh command_start.sh
echo "" echo ""
echo "Test complete!" echo "Test complete!"
sleep 1
echo "" echo ""
echo "3.2 - start - online" echo "3.2 - start - online"
echo "=================================" echo "================================="
@ -245,7 +262,6 @@ fn_setstatus
(command_start.sh) (command_start.sh)
echo "" echo ""
echo "Test complete!" echo "Test complete!"
sleep 1
echo "" echo ""
echo "3.3 - start - updateonstart" echo "3.3 - start - updateonstart"
echo "=================================" echo "================================="
@ -259,7 +275,7 @@ fn_setstatus
) )
echo "" echo ""
echo "Test complete!" echo "Test complete!"
sleep 1
echo "" echo ""
echo "3.4 - stop" echo "3.4 - stop"
echo "=================================" echo "================================="
@ -270,7 +286,6 @@ fn_setstatus
command_stop.sh command_stop.sh
echo "" echo ""
echo "Test complete!" echo "Test complete!"
sleep 1
echo "" echo ""
echo "3.5 - stop - offline" echo "3.5 - stop - offline"
echo "=================================" echo "================================="
@ -281,7 +296,6 @@ fn_setstatus
(command_stop.sh) (command_stop.sh)
echo "" echo ""
echo "Test complete!" echo "Test complete!"
sleep 1
echo "" echo ""
echo "3.6 - restart" echo "3.6 - restart"
echo "=================================" echo "================================="
@ -292,7 +306,6 @@ fn_setstatus
command_restart.sh command_restart.sh
echo "" echo ""
echo "Test complete!" echo "Test complete!"
sleep 1
echo "" echo ""
echo "3.7 - restart - offline" echo "3.7 - restart - offline"
echo "=================================" echo "================================="
@ -303,11 +316,8 @@ fn_setstatus
command_restart.sh command_restart.sh
echo "" echo ""
echo "Test complete!" echo "Test complete!"
sleep 1
echo "" echo ""
echo "4.1 - update" echo "4.1 - update"
echo "=================================" echo "================================="
echo "Description:" echo "Description:"
@ -317,7 +327,6 @@ fn_setstatus
update_check.sh update_check.sh
echo "" echo ""
echo "Test complete!" echo "Test complete!"
sleep 1
echo "" echo ""
echo "4.2 - update - change buildid" echo "4.2 - update - change buildid"
echo "=================================" echo "================================="
@ -330,7 +339,6 @@ sed -i 's/[0-9]\+/0/' ${filesdir}/steamapps/appmanifest_${appid}.acf
update_check.sh update_check.sh
echo "" echo ""
echo "Test complete!" echo "Test complete!"
sleep 1
echo "" echo ""
echo "4.3 - update - change buildid - online" echo "4.3 - update - change buildid - online"
echo "=================================" echo "================================="
@ -343,7 +351,6 @@ sed -i 's/[0-9]\+/0/' ${filesdir}/steamapps/appmanifest_${appid}.acf
update_check.sh update_check.sh
echo "" echo ""
echo "Test complete!" echo "Test complete!"
sleep 1
echo "" echo ""
echo "4.4 - update - remove appmanifest file" echo "4.4 - update - remove appmanifest file"
echo "=================================" echo "================================="
@ -356,7 +363,6 @@ rm --verbose "${filesdir}/steamapps/appmanifest_${appid}.acf"
update_check.sh update_check.sh
echo "" echo ""
echo "Test complete!" echo "Test complete!"
sleep 1
echo "" echo ""
echo "4.5 - force-update" echo "4.5 - force-update"
echo "=================================" echo "================================="
@ -367,7 +373,6 @@ fn_setstatus
update_check.sh update_check.sh
echo "" echo ""
echo "Test complete!" echo "Test complete!"
sleep 1
echo "" echo ""
echo "4.6 - force-update - online" echo "4.6 - force-update - online"
echo "=================================" echo "================================="
@ -378,7 +383,6 @@ fn_setstatus
update_check.sh update_check.sh
echo "" echo ""
echo "Test complete!" echo "Test complete!"
sleep 1
echo "" echo ""
echo "4.7 - validate" echo "4.7 - validate"
echo "=================================" echo "================================="
@ -389,7 +393,6 @@ fn_setstatus
command_validate.sh command_validate.sh
echo "" echo ""
echo "Test complete!" echo "Test complete!"
sleep 1
echo "" echo ""
echo "4.8 - validate - online" echo "4.8 - validate - online"
echo "=================================" echo "================================="
@ -400,11 +403,8 @@ fn_setstatus
command_validate.sh command_validate.sh
echo "" echo ""
echo "Test complete!" echo "Test complete!"
sleep 1
echo "" echo ""
echo "5.1 - monitor - online" echo "5.1 - monitor - online"
echo "=================================" echo "================================="
echo "Description:" echo "Description:"
@ -414,7 +414,6 @@ fn_setstatus
(command_monitor.sh) (command_monitor.sh)
echo "" echo ""
echo "Test complete!" echo "Test complete!"
sleep 1
echo "" echo ""
echo "5.2 - monitor - offline - no lockfile" echo "5.2 - monitor - offline - no lockfile"
echo "=================================" echo "================================="
@ -425,7 +424,6 @@ fn_setstatus
(command_monitor.sh) (command_monitor.sh)
echo "" echo ""
echo "Test complete!" echo "Test complete!"
sleep 1
echo "" echo ""
echo "5.3 - monitor - offline - with lockfile" echo "5.3 - monitor - offline - with lockfile"
echo "=================================" echo "================================="
@ -438,7 +436,6 @@ date > "${rootdir}/${lockselfname}"
(command_monitor.sh) (command_monitor.sh)
echo "" echo ""
echo "Test complete!" echo "Test complete!"
sleep 1
echo "" echo ""
echo "5.4 - monitor - gsquery.py failure" echo "5.4 - monitor - gsquery.py failure"
echo "=================================" echo "================================="
@ -453,11 +450,8 @@ fn_print_info_nl "Reseting ${servercfg}."
install_config.sh install_config.sh
echo "" echo ""
echo "Test complete!" echo "Test complete!"
sleep 1
echo "" echo ""
echo "6.0 - details" echo "6.0 - details"
echo "=================================" echo "================================="
echo "Description:" echo "Description:"
@ -467,9 +461,7 @@ fn_setstatus
command_details.sh command_details.sh
echo "" echo ""
echo "Test complete!" echo "Test complete!"
sleep 1
echo "" echo ""
echo "=================================" echo "================================="
echo "Server Tests - Complete!" echo "Server Tests - Complete!"
echo "Using: ${gamename}" echo "Using: ${gamename}"
@ -477,9 +469,9 @@ echo "================================="
echo "" echo ""
requiredstatus="OFFLINE" requiredstatus="OFFLINE"
fn_setstatus fn_setstatus
sleep 1
fn_print_info "Tidying up directories." fn_print_info "Tidying up directories."
sleep 1
rm -rfv ${serverfiles} rm -rfv ${serverfiles}
echo "END" echo "END"

Loading…
Cancel
Save