aboutsummaryrefslogtreecommitdiff
path: root/.github/scripts
diff options
context:
space:
mode:
authorGlease <4586901+Glease@users.noreply.github.com>2022-03-02 01:29:49 +0800
committerGlease <4586901+Glease@users.noreply.github.com>2022-03-02 01:29:49 +0800
commit11a61c3c2c32ac47bc2d63e1fc0c8734f8acc285 (patch)
tree9011c314818fc2d68c62471436b4f26d0e1be71a /.github/scripts
parent345c435b7b2022f1ba095c44516d0d067d8606f4 (diff)
downloadGT5-Unofficial-11a61c3c2c32ac47bc2d63e1fc0c8734f8acc285.tar.gz
GT5-Unofficial-11a61c3c2c32ac47bc2d63e1fc0c8734f8acc285.tar.bz2
GT5-Unofficial-11a61c3c2c32ac47bc2d63e1fc0c8734f8acc285.zip
structurelib support for LSC
Diffstat (limited to '.github/scripts')
-rwxr-xr-x.github/scripts/test-no-error-reports.sh33
-rwxr-xr-x.github/scripts/test_no_error_reports51
2 files changed, 51 insertions, 33 deletions
diff --git a/.github/scripts/test-no-error-reports.sh b/.github/scripts/test-no-error-reports.sh
deleted file mode 100755
index 84c1e5d650..0000000000
--- a/.github/scripts/test-no-error-reports.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/usr/bin/env bash
-
-RUNDIR="run"
-CRASH="crash-reports"
-SERVERLOG="server.log"
-
-if [[ -d $RUNDIR/$CRASH ]]; then
- echo "Crash reports detected:"
- cat $RUNDIR/$CRASH/crash*.txt
- exit 1
-fi
-
-if grep --quiet "Fatal errors were detected" $SERVERLOG; then
- echo "Fatal errors detected:"
- cat server.log
- exit 1
-fi
-
-if grep --quiet "The state engine was in incorrect state ERRORED and forced into state SERVER_STOPPED" $SERVERLOG; then
- echo "Server force stopped:"
- cat server.log
- exit 1
-fi
-
-if ! grep --quiet -Po '.+Done \(.+\)\! For help, type "help" or "\?"' $SERVERLOG; then
- echo "Server didn't finish startup:"
- cat server.log
- exit 1
-fi
-
-echo "No crash reports detected"
-exit 0
-
diff --git a/.github/scripts/test_no_error_reports b/.github/scripts/test_no_error_reports
new file mode 100755
index 0000000000..1fcc7396c6
--- /dev/null
+++ b/.github/scripts/test_no_error_reports
@@ -0,0 +1,51 @@
+#!/usr/bin/env bash
+
+# bashsupport disable=BP5006 # Global environment variables
+RUNDIR="run" \
+ CRASH="crash-reports" \
+ SERVERLOG="server.log"
+
+# enable nullglob to get 0 results when no match rather than the pattern
+shopt -s nullglob
+
+# store matches in array
+crash_reports=("$RUNDIR/$CRASH/crash"*.txt)
+
+# if array not empty there are crash_reports
+if [ "${#crash_reports[@]}" -gt 0 ]; then
+ # get the latest crash_report from array
+ latest_crash_report="${crash_reports[-1]}"
+ {
+ printf 'Latest crash report detected %s:\n' "${latest_crash_report##*/}"
+ cat "$latest_crash_report"
+ } >&2
+ exit 1
+fi
+
+if grep --quiet --fixed-strings 'Fatal errors were detected' "$SERVERLOG"; then
+ {
+ printf 'Fatal errors detected:\n'
+ cat server.log
+ } >&2
+ exit 1
+fi
+
+if grep --quiet --fixed-strings 'The state engine was in incorrect state ERRORED and forced into state SERVER_STOPPED' \
+ "$SERVERLOG"; then
+ {
+ printf 'Server force stopped:'
+ cat server.log
+ } >&2
+ exit 1
+fi
+
+if ! grep --quiet --perl-regexp --only-matching '.+Done \(.+\)\! For help, type "help" or "\?"' "$SERVERLOG"; then
+ {
+ printf 'Server did not finish startup:'
+ cat server.log
+ } >&2
+ exit 1
+fi
+
+printf 'No crash reports detected'
+exit 0