chiark / gitweb /
tests wired up to makefile
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 2 Jan 2021 02:50:00 +0000 (02:50 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 2 Jan 2021 02:50:00 +0000 (02:50 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Makefile
wdriver/run1 [new file with mode: 0755]

index b5dbd65386c6cab703edc60079bab3e4612f0f03..f364ac65b49c09f32f7d6fdccd1d3c2fd2ba0cc9 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -113,7 +113,7 @@ WASM := wasm32-unknown-unknown
 
 #---------- toplevel aggregate targets ----------
 
-check: stamp/cargo.check
+check: stamp/cargo.check wdt
        @echo 'All tests passed.'
 
 doc: cargo-doc
@@ -151,6 +151,10 @@ stamp/cargo.check: $(call rsrcs,.)
        $(CARGO) test --workspace
        $(stamp)
 
+stamp/cargo-wdt.debug: $(call rsrcs,.)
+       $(CARGO) build $(call cr,$*) -p otter-webdriver-tests
+       $(stamp)
+
 stamp/cargo.doc: $(call rsrcs,.)
        $(CARGO) doc --workspace
        $(stamp)
@@ -253,6 +257,17 @@ $(addprefix templates/,$(TXTFILES)): templates/%: %.txt
 
 libraries: $(LIBRARY_FILES)
 
+#---------- webdriver tests (wdt) ----------
+
+WDT_TESTS := $(basename $(notdir $(wildcard wdriver/wdt-*.rs)))
+
+wdt:   $(foreach f, $(WDT_TESTS), stamp/$f.check)
+
+stamp/wdt-%.check:     wdriver/run1 stamp/cargo.debug stamp/cargo-wdt.debug \
+                       $(FILEASSETS) templates/script.js $(LIBRARY_FILES)
+       $(NAILING_CARGO_JUST_RUN) $(abspath $<) $(basename $(notdir $@))
+       $(stamp)
+
 #---------- deployment ----------
 
 DEPLOY_USER=ian@login.chiark.greenend.org.uk
diff --git a/wdriver/run1 b/wdriver/run1
new file mode 100755 (executable)
index 0000000..53555ce
--- /dev/null
@@ -0,0 +1,15 @@
+#!/bin/bash
+set -e
+
+tname="$1";
+mkdir -p tmp
+
+target/debug/"$tname" 2>&1 | ts -s %.s >tmp/"$tname".log
+case "${PIPESTATUS[*]}" in
+"0 0") exit 0;
+esac
+
+grep -v 'DEBUG [otter_webdriver_tests]' <tmp/"$tname".log \
+| tail -20
+
+exit 1