OneScience-Group/TemStaPro-main
019
1# Makefile to test TemStaPro program.2 3MAKEFILE_DIR := $(dir $(lastword $(MAKEFILE_LIST)))4 5TEST_DIR = $(MAKEFILE_DIR)tests6 7INPUT_TEST_DIR = ${TEST_DIR}/cases8 9OUTPUT_TEST_DIR = ${TEST_DIR}/outputs10 11TEST_CASE_SCRIPTS = $(sort $(wildcard ${INPUT_TEST_DIR}/*.sh))12TEST_CASE_OUTPUTS = ${TEST_CASE_SCRIPTS:${INPUT_TEST_DIR}/%.sh=${OUTPUT_TEST_DIR}/%.out}13TEST_CASE_DIFFS = ${TEST_CASE_SCRIPTS:${INPUT_TEST_DIR}/%.sh=${OUTPUT_TEST_DIR}/%.diff}14 15PT_FILES = $(wildcard ${OUTPUT_TEST_DIR}/*.pt)16SVG_FILES = $(wildcard ${OUTPUT_TEST_DIR}/*.svg)17 18.PHONY: all test check tests checks clean distclean mostlyclean cleanAll19 20all: tests21 22.PHONY: display23 24display:25 @echo ${TEST_CASE_DIFFS}26 27test tests: ${TEST_CASE_DIFFS}28 29${OUTPUT_TEST_DIR}/%.diff: ${INPUT_TEST_DIR}/%.sh ${OUTPUT_TEST_DIR}/%.out30 @$< 2>&1 | sed 's/at \(.*\) line [0-9][0-9]*\./at \1 line 999\./' | \31 sed 's/\(.*\): beginning/2000-01-01: beginning/' | \32 sed 's/\(.*\): finished/2000-01-01: finished/' | \33 sed 's/\(.*\): time to/0:00:00.0001: time to/' | diff - $(word 2,$^) | tee $@ 34 @if [ -s $@ ]; then echo "Test $< did not pass:"; cat $@; else echo "Test $< passed."; fi35 36clean:37 rm -f ${TEST_CASE_DIFFS}38 rm ${PT_FILES}39 rm ${SVG_FILES}40 