summaryrefslogtreecommitdiff
path: root/src/test/lib/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/lib/Makefile')
-rw-r--r--src/test/lib/Makefile38
1 files changed, 26 insertions, 12 deletions
diff --git a/src/test/lib/Makefile b/src/test/lib/Makefile
index 35b65419..d2185866 100644
--- a/src/test/lib/Makefile
+++ b/src/test/lib/Makefile
@@ -17,25 +17,39 @@ SAIL_VALUES:=$(SAIL_DIR)/gen_lib/sail_values.ml
BUILD_DIR:=_build
+TESTS:=$(wildcard tests/*.sail)
+OCAML_RESULTS:=$(addsuffix _embed.out,$(addprefix $(BUILD_DIR)/,$(notdir $(basename $(TESTS)))))
+INTERP_RESULTS:=$(addsuffix _interp.out,$(addprefix $(BUILD_DIR)/,$(notdir $(basename $(TESTS)))))
+
+all: tests.xml
+
+clean:
+ rm -rf $(BUILD_DIR) tests.xml
+
$(BUILD_DIR):
mkdir -p $@
-ocaml: | $(BUILD_DIR)
- cp test_lib.sail $(SAIL_VALUES) run_test_embed.ml $(BUILD_DIR)
+$(BUILD_DIR)/run_test_embed.ml: | $(BUILD_DIR)
+ cp run_test_embed.ml $(BUILD_DIR)
+
+$(BUILD_DIR)/run_test_interp.ml: | $(BUILD_DIR)
+ cp run_test_interp.ml $(BUILD_DIR)
+
+$(BUILD_DIR)/sail_values.ml: | $(BUILD_DIR)
+ cp $(SAIL_VALUES) $(BUILD_DIR)
+
+$(BUILD_DIR)/%_embed.out : tests/%.sail $(BUILD_DIR)/run_test_embed.ml $(BUILD_DIR)/sail_values.ml
cd $(BUILD_DIR) && \
- $(SAIL) -ocaml test_lib.sail -o test && \
+ $(SAIL) -ocaml ../test_prelude.sail ../$< ../test_epilogue.sail -o test && \
ocamlopt -I $(ZARITH_DIR) $(ZARITH_LIB) sail_values.ml test.ml run_test_embed.ml -o test_embed.native && \
- ./test_embed.native > test_embed.out && \
- ../test_to_junit.sh < test_embed.out
+ ./test_embed.native > $(notdir $@)
-interp: | $(BUILD_DIR)
- cp test_lib.sail $(BUILD_DIR) && \
- cp run_test_interp.ml $(BUILD_DIR) && \
+$(BUILD_DIR)/%_interp.out : tests/%.sail $(BUILD_DIR)/run_test_interp.ml
cd $(BUILD_DIR) && \
- $(SAIL) -lem_ast test_lib.sail -o test_lem_ast && \
+ $(SAIL) -lem_ast ../test_prelude.sail ../$< ../test_epilogue.sail -o test_lem_ast && \
$(LEM) -ocaml test_lem_ast.lem -lib $(SAIL_DIR)/lem_interp && \
ocamlfind ocamlopt -g -package num -I $(ZARITH_DIR) -I $(SAIL_DIR)/_build/lem_interp -I $(LEMLIB) -linkpkg $(ZARITH_LIB) $(LEMLIB)/extract.cmxa $(SAIL_DIR)/_build/lem_interp/extract.cmxa test_lem_ast.ml run_test_interp.ml -o test_interp.native && \
- ./test_interp.native
+ ./test_interp.native >$(notdir $@) 2>&1
-all:
- true
+tests.xml: $(OCAML_RESULTS) $(INTERP_RESULTS)
+ ./test_to_junit.sh $^