#---------- toplevel aggregate targets ----------
-check: stamp/cargo.check wdt
+check: stamp/cargo.check at wdt
@echo 'All tests passed.'
doc: cargo-doc
$(CARGO) test --workspace
$(stamp)
+stamp/cargo-at.debug: $(call rsrcs,.)
+ $(CARGO) build --workspace $(call cr,$*) -p otter-api-tests
+ $(stamp)
+
stamp/cargo-wdt.debug: $(call rsrcs,.)
$(CARGO) build --workspace $(call cr,$*) -p otter-webdriver-tests
$(stamp)
#---------- webdriver tests (wdt) ----------
+AT_TESTS := $(basename $(notdir $(wildcard apitest/at-*.rs)))
WDT_TESTS := $(basename $(notdir $(wildcard wdriver/wdt-*.rs)))
WDT_LANDSCAPE_TESTS = wdt-altergame
+at: $(foreach f, $(AT_TESTS), stamp/$f.check)
+
wdt: $(foreach f, $(WDT_TESTS), stamp/$f.check) \
$(foreach f, $(WDT_LANDSCAPE_TESTS), stamp/$f.lcheck) \
-WDT_DEPS = wdriver/run1 stamp/cargo.debug stamp/cargo-wdt.debug \
- $(FILEASSETS) templates/script.js \
+RUNTEST_DEPS = apitest/run1 stamp/cargo.debug $(FILEASSETS) \
$(wildcard libraries/*.toml) $(LIBRARY_FILES)
+AT_DEPS = $(filter-out templates/script.js, $(RUNTEST_DEPS)) \
+ stamp/cargo-at.debug
+
+WDT_DEPS = $(RUNTEST_DEPS) \
+ stamp/cargo-wdt.debug
+
+AT_WDT_RUN = $(NAILING_CARGO_JUST_RUN) $(abspath $<) $(basename $(notdir $@))
+
+stamp/at-%.check: $(AT_DEPS)
+ $(AT_WDT_RUN)
+ $(stamp)
+
stamp/wdt-%.check: $(WDT_DEPS)
- $(NAILING_CARGO_JUST_RUN) $(abspath $<) $(basename $(notdir $@))
+ $(AT_WDT_RUN)
$(stamp)
stamp/wdt-%.lcheck: $(WDT_DEPS)
- $(NAILING_CARGO_JUST_RUN) $(abspath $<) $(basename $(notdir $@)) --as-if=lwdt-$* --layout=Landscape
+ $(AT_WDT_RUN) --as-if=lwdt-$* --layout=Landscape
$(stamp)
#---------- deployment ----------
--- /dev/null
+# Copyright 2020-2021 Ian Jackson and contributors to Otter
+# SPDX-License-Identifier: AGPL-3.0-or-later
+# There is NO WARRANTY.
+
+[package]
+name = "otter-api-tests"
+authors = ["Ian Jackson <ijackson@chiark.greenend.org.uk>"]
+license = "AGPL-3.0-or-later"
+
+version = "0.0.1"
+edition = "2018"
+
+[dependencies]
+otter = { path = ".." }
+
+humantime = "2"
+ndarray = "0.14"
+
+# Repeated here because importing does not work properly
+fehler = "1"
+num-traits = "0.2"
+serde = { version = "1", features = ["derive","rc"] }
+structopt = "0.3"
+strum = { version = "0.20", features = ['derive'] }
+
+[lib]
+name = "otter_api_tests"
+path = "../apitest.rs"