| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'data/test/Makefile')
| -rw-r--r-- | data/test/Makefile | 42 | 
1 files changed, 34 insertions, 8 deletions
| diff --git a/data/test/Makefile b/data/test/Makefile index de460c3..f38526a 100644 --- a/data/test/Makefile +++ b/data/test/Makefile @@ -6,17 +6,18 @@ PROPERTY_DIR ?= ${CURDIR}/../property  SOLUTION_DIR ?= /tmp/tabellion/sol/  ORACLE_CREATOR_SCRIPT = ${CURDIR}/oracle_creator.py  ################################################################################ -TEST_FILES = $(addsuffix /valid,$(TEST_DIRS)) +TEST_FILES = $(addsuffix /valid,$(TEST_DIRS)) $(addsuffix /invalid,$(TEST_DIRS))  SOLUTION_FILES = $(addsuffix .sol,$(addprefix $(SOLUTION_DIR)/,$(TEST_DIRS)))  #VHD_FILES = $(addsuffix .vhd, $(TEST_FILES))  AST_FILES = $(addsuffix .xml, $(TEST_FILES))  OCL_FILES = $(addsuffix .ocl, $(TEST_FILES)) -RSL_FILES = $(addsuffix .rsl, $(TEST_DIRS)) +VLD_FILES = $(addsuffix /valid.result, $(TEST_DIRS)) +IVLD_FILES = $(addsuffix /invalid.result, $(TEST_DIRS))  export -all: $(AST_FILES) $(OCL_FILES) $(RSL_FILES) +all: $(AST_FILES) $(OCL_FILES) $(VLD_FILES) $(IVLD_FILES)  clean:  	rm -f $(AST_FILES) @@ -26,10 +27,35 @@ $(AST_FILES): %.xml : %.vhd  	$(AST_CREATOR) $< > $@  $(OCL_FILES): %.ocl : %.vhd -	grep -no "\$$SOL:[0-9]\+:[0-9]\+\\$$" $< | $(ORACLE_CREATOR_SCRIPT) > $@ +	grep -no "\$$SOL:[0-9]\+:[0-9]\+\\$$" $< | $(ORACLE_CREATOR_SCRIPT) | sort > $@ -$(RSL_FILES): %.rsl : %/valid.ocl %/valid.xml +$(VLD_FILES): %/valid.result: %/valid.ocl %/valid.xml  	$(MAKE) -C $(TABELLION_MAIN) \ -		AST_FILE=${PWD}/$(patsubst %.rsl,%,$@)/valid.xml \ -		PROPERTY_FILES=$(PROPERTY_DIR)/$(patsubst %.rsl,%.pro,$@) \ -		TEMPLATE_DIR=${PWD}/$(patsubst %.rsl,%,$@)/ +		TMP_DIR=/tmp/tabellion_valid \ +		clean_solutions +	$(MAKE) -C $(TABELLION_MAIN) \ +		TMP_DIR=/tmp/tabellion_valid \ +		clean_model +	$(MAKE) -C $(TABELLION_MAIN) \ +		TMP_DIR=/tmp/tabellion_valid \ +		AST_FILE=${PWD}/$(dir $@)/valid.xml \ +		PROPERTY_FILES=$(PROPERTY_DIR)/$(patsubst %/,%,$(dir $@)).pro \ +		TEMPLATE_DIR=${PWD}/$(dir $@)/ \ +		NICE_MESSAGE=/tmp/tabellion/valid_test_result +	cat /tmp/tabellion/valid_test_result | sed '/^\s*$$/d' | sort > $@ +	diff $@ $(dir $@)/valid.ocl || true > $@ + +$(IVLD_FILES): %/invalid.result: %/invalid.ocl %/invalid.xml +	$(MAKE) -C $(TABELLION_MAIN) \ +		TMP_DIR=/tmp/tabellion_invalid \ +		clean_solutions +	$(MAKE) -C $(TABELLION_MAIN) \ +		TMP_DIR=/tmp/tabellion_invalid \ +		clean_model +	$(MAKE) -C $(TABELLION_MAIN) \ +		TMP_DIR=/tmp/tabellion_invalid \ +		AST_FILE=${PWD}/$(dir $@)/invalid.xml \ +		PROPERTY_FILES=$(PROPERTY_DIR)/$(patsubst %/,%,$(dir $@)).pro \ +		TEMPLATE_DIR=${PWD}/$(dir $@)/ \ +		NICE_MESSAGE=${PWD}/$@ +	cat $@ | sed '/^\s*$$/d' | sort > $@ | 


