about summary refs log tree commit diff stats
path: root/run_one_test.sh
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2019-07-27 16:01:55 -0700
committerKartik Agaram <vc@akkartik.com>2019-07-27 17:47:59 -0700
commit6e1eeeebfb453fa7c871869c19375ce60fbd7413 (patch)
tree539c4a3fdf1756ae79770d5c4aaf6366f1d1525e /run_one_test.sh
parent8846a7f85cc04b77b2fe8a67b6d317723437b00c (diff)
downloadmu-6e1eeeebfb453fa7c871869c19375ce60fbd7413.tar.gz
5485 - promote SubX to top-level
Diffstat (limited to 'run_one_test.sh')
-rwxr-xr-xrun_one_test.sh22
1 files changed, 22 insertions, 0 deletions
diff --git a/run_one_test.sh b/run_one_test.sh
new file mode 100755
index 00000000..caecd63c
--- /dev/null
+++ b/run_one_test.sh
@@ -0,0 +1,22 @@
+#!/usr/bin/env zsh
+# Either run the test with the given name, or rerun the most recently run test.
+# Intended to be called from within Vim. Check out the vimrc.vim file.
+
+if [[ $2 == 'test-'* ]]
+then
+  TEST_NAME=$2 envsubst '$TEST_NAME' < run_one_test.subx > /tmp/run_one_test.subx
+  FILES=$(ls [0-9]*.subx apps/subx-common.subx $1 |sort |uniq)
+  echo $FILES > /tmp/last_run_files
+elif [[ -e /tmp/last_run_files ]]
+then
+  FILES=`cat /tmp/last_run_files`
+else
+  echo "no test found"
+  exit 0  # don't open trace
+fi
+
+set -e
+                                      # turn newlines into spaces
+CFLAGS=$CFLAGS ./subx --debug translate $(echo $FILES) /tmp/run_one_test.subx -o /tmp/a.elf
+
+./subx --debug --trace run /tmp/a.elf