summaryrefslogtreecommitdiff
path: root/app/run-test.sh
diff options
context:
space:
mode:
authorCrossR <r.cross@lancaster.ac.uk>2020-08-29 22:54:43 +0100
committerCrossR <r.cross@lancaster.ac.uk>2020-08-29 22:54:43 +0100
commit6be07b5b243d62fd6c531c4c8d6e81e61147eac6 (patch)
treeeeb2c72432cd1071893e154a39ae8136be215d80 /app/run-test.sh
parent7abcae6949834a4dd9d4fdb41ebc68acb36d3db7 (diff)
parent86c3dac153b9f748ce3e4863c620e5a9c08c67be (diff)
Merge branch 'main' into CrossR/Sofle
Diffstat (limited to 'app/run-test.sh')
-rwxr-xr-xapp/run-test.sh40
1 files changed, 40 insertions, 0 deletions
diff --git a/app/run-test.sh b/app/run-test.sh
new file mode 100755
index 0000000..be335c6
--- /dev/null
+++ b/app/run-test.sh
@@ -0,0 +1,40 @@
+#!/bin/sh
+#
+# Copyright (c) 2020 Peter Johanson; Cody McGinnis
+#
+# SPDX-License-Identifier: MIT
+#
+
+if [ -z "$1" ]; then
+ echo "Usage: ./run-test.sh <path to testcase>"
+ exit 1
+elif [ "$1" = "all" ]; then
+ echo "" > ./build/tests/pass-fail.log
+ find tests -name native_posix.keymap -exec dirname \{\} \; | xargs -l -P 4 ./run-test.sh
+ err=$?
+ sort -k2 ./build/tests/pass-fail.log
+ exit $err
+fi
+
+testcase="$1"
+echo "Running $testcase:"
+
+west build -d build/$testcase -b native_posix -- -DZMK_CONFIG=$testcase > /dev/null 2>&1
+if [ $? -gt 0 ]; then
+ echo "FAIL: $testcase did not build" >> ./build/tests/pass-fail.log
+else
+ ./build/$testcase/zephyr/zmk.exe | sed -e "s/.*> //" | tee build/$testcase/keycode_events_full.log | sed -n -f $testcase/events.patterns > build/$testcase/keycode_events.log
+ diff -au $testcase/keycode_events.snapshot build/$testcase/keycode_events.log
+ if [ $? -gt 0 ]; then
+ if [ -f $testcase/pending ]; then
+ echo "PEND: $testcase" >> ./build/tests/pass-fail.log
+ exit 0
+ else
+ echo "FAIL: $testcase" >> ./build/tests/pass-fail.log
+ exit 1
+ fi
+ else
+ echo "PASS: $testcase" >> ./build/tests/pass-fail.log
+ exit 0
+ fi
+fi \ No newline at end of file