refactor bash scripts (#21)

* update bash scripts

* main script refactor
This commit is contained in:
Sergey Shorokhov 2024-10-17 15:22:36 +03:00 committed by GitHub
parent e5c562f603
commit 12ae37068f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 40 additions and 29 deletions

View File

@ -1,6 +1,6 @@
#!/bin/bash
echo " - Testing rehlds -"
echo " - Testing ReHLDS - "
rsync -a deps/rehlds/* .
demo=cstrike-muliplayer-1 desc="CS: Multiplayer" ./runTest.sh

View File

@ -1,33 +1,44 @@
# rsync -a deps/rehlds/* .
#!/bin/bash
# demo="cstrike-muliplayer-1"
# desc="CS: Multiplayer"
CYAN="\e[1;36m"
YELLOW="\e[0;33m"
RED="\e[1;31m"
BOLD_RED="\e[30;41m"
BOLD_YELLOW="\e[30;43m"
RESET="\e[0m"
ERROR_FILE="rehlds_demo_error.txt"
RESULT_FILE="result.log"
params=$(cat "testdemos/${demo}.params")
echo -e "\e[1;36m${desc} testing...\e[0m"
echo -e " - \e[0;33mParameters: $params\e[0m"
printf "${CYAN}%s testing...${RESET}\n" "${desc}"
printf " - ${YELLOW}Parameters: %s${RESET}\n" "$params"
retVal=0
wine hlds.exe --rehlds-enable-all-hooks --rehlds-test-play "testdemos/${demo}.bin" $params &> result.log || retVal=$?
if [ $retVal -ne 777 ] && [ $retVal -ne 9 ]; then
echo -e " 🔸 🔸 🔸 🔸 🔸 🔸 🔸 🔸 🔸 🔸"
wine hlds.exe --rehlds-enable-all-hooks --rehlds-test-play "testdemos/${demo}.bin" $params &> "$RESULT_FILE" || retVal=$?
if [ -f rehlds_demo_error.txt ]; then
while read line; do
echo -e " \e[1;31m$line";
done < rehlds_demo_error.txt
else
echo -e " \e[1;33mrehlds_demo_error.txt not found, dumping result.log:\e[0m"
cat result.log
if [ $retVal -eq 777 ] || [ $retVal -eq 9 ]; then
while IFS= read -r line; do
printf " ${YELLOW}%s${RESET}\n" "$line"
done <<< $(sed '/wine:/d;/./,$!d' "$RESULT_FILE")
printf " ${BOLD_YELLOW}Exit code: %d${RESET}\n" "$retVal"
printf "${CYAN}%s testing...${YELLOW} Succeed ✔${RESET}\n" "$desc"
exit 0
fi
echo -e " \e[30;41mExit code: $retVal\e[0m"
echo -e "\e[1;36m${desc} testing...\e[1;31m Failed ❌\e[0m"
exit 6 # Test demo failed
printf " 🔸 🔸 🔸 🔸 🔸 🔸 🔸 🔸 🔸 🔸\n"
if [ -f "$ERROR_FILE" ]; then
while IFS= read -r line; do
printf " ${RED}%s${RESET}\n" "$line"
done < "$ERROR_FILE"
else
while read line; do
echo -e " \e[0;33m$line"
done <<< $(cat result.log | sed '/wine:/d;/./,$!d')
echo -e " \e[30;43mExit code: $retVal\e[0m"
echo -e "\e[1;36m${desc} testing...\e[1;32m Succeed ✔\e[0m"
printf " ${YELLOW}rehlds_demo_error.txt not found, dumping result.log:${RESET}\n"
cat "$RESULT_FILE"
fi
printf " ${BOLD_RED}Exit code: %d${RESET}\n" "$retVal"
printf "${CYAN}%s testing...${RED} Failed ❌${RESET}\n" "$desc"
exit 1