Skip to content
Snippets Groups Projects
  • Erwan Jahier's avatar
    612d8213
    Rewrite the topological sort of actions. · 612d8213
    Erwan Jahier authored
    The main difference is that I use a map instead of list to store
    visited nodes.  The compilation time of normal.ec is divided by 2!!
    (35s->15s)
    
    We do not really see the difference in the time of the non-reg tests
    since the execution of normal.ec still exceeds the 10s timeouts.
    612d8213
    History
    Rewrite the topological sort of actions.
    Erwan Jahier authored
    The main difference is that I use a map instead of list to store
    visited nodes.  The compilation time of normal.ec is divided by 2!!
    (35s->15s)
    
    We do not really see the difference in the time of the non-reg tests
    since the execution of normal.ec still exceeds the 10s timeouts.
Makefile 1.59 KiB

test: remote-runtest lus2lic.time lus2lic.diff 
xxx: lus2lic.time lus2lic.diff 

TEST_MACHINE=grivola
# This fixes sporadic memory errors I get when running tests
OCAMLRUNPARAM=s=1M,i=32M,o=150
# to perform the test on the local machine rather than on $(TEST_MACHINE)
ltest: runtest lus2lic.diff lus2lic.time


testdir=$(shell pwd)

# XXX remote test should be done using --target_board, but i've failed to make it working ...
remote-runtest: 
#	runtest --all --tool lus2lic --target_board=$(testdir)/board_$(TEST_MACHINE).exp  || true
	ssh $(TEST_MACHINE) "cd  $(testdir) ; export OCAMLRUNPARAM=o=200 ; runtest --all --tool lus2lic"  || true
	cd $(testdir)

runtest: 
	runtest --all --tool lus2lic  || true


.PHONY:lus2lic.diff lus2lic.time
lus2lic.diff:
	cat lus2lic.log | grep  -v "Process " | grep -v "Killing process " | \
		grep -v "simec_trap " | grep -v " Version "  > lus2lic2.log
	mv lus2lic2.log lus2lic.log
	diff -U 1 -I "Test Run By" -I "testcase \./lus2lic" -I "runtest completed at" \
	 -I "This is Lurette Version "  \
	lus2lic.log.ref lus2lic.log  > lus2lic.diff || \
	(cat lus2lic.diff; echo "make utest if it is fine"; exit 1)

time:lus2lic.time
lus2lic.time:
	grep "testcase \./lus2lic" lus2lic.log > lus2lic.time
	cat lus2lic.time >> lus2lic.sum
	cat lus2lic.time
.PHONY:lus2lic.time

utest:
	cp lus2lic.log lus2lic.log.ref

nonreg:
	ssh $(TEST_MACHINE) "cd  $(testdir) ; runtest --all --tool lus2lic  --ignore progression.exp" || true

prog:
	ssh $(TEST_MACHINE) "cd  $(testdir) ; runtest --all 	--tool lus2lic --ignore non-reg.exp" || true

clean:
	rm -f *.ec *.lus *.lut *.cov *.gp *.rif *.out *.cov