aboutsummaryrefslogtreecommitdiffstats
path: root/test/mppa/sort
diff options
context:
space:
mode:
authorCyril SIX <cyril.six@kalray.eu>2018-11-14 11:18:45 +0100
committerCyril SIX <cyril.six@kalray.eu>2018-11-14 11:18:45 +0100
commit154230f3d9cad4f8de59e8fcaa9d0fe4ae151a98 (patch)
tree54fd19259eadbb4b4687f38003a5b344059f1d18 /test/mppa/sort
parent6e1ff91536ce40e16e0f6af7f2d032ffda2f752c (diff)
downloadcompcert-kvx-154230f3d9cad4f8de59e8fcaa9d0fe4ae151a98.tar.gz
compcert-kvx-154230f3d9cad4f8de59e8fcaa9d0fe4ae151a98.zip
Updated Sort Makefile + fixed compilation command bug
Diffstat (limited to 'test/mppa/sort')
-rw-r--r--test/mppa/sort/Makefile92
1 files changed, 57 insertions, 35 deletions
diff --git a/test/mppa/sort/Makefile b/test/mppa/sort/Makefile
index c0c9347d..ebbad5b5 100644
--- a/test/mppa/sort/Makefile
+++ b/test/mppa/sort/Makefile
@@ -2,54 +2,78 @@ K1CC ?= k1-mbr-gcc
CC ?= gcc
CCOMP ?= ccomp
CFLAGS ?= -O2
+SIMU ?= k1-cluster
+TIMEOUT ?= 10s
+
+K1CCPATH=$(shell which $(K1CC))
+CCPATH=$(shell which $(CC))
+CCOMPPATH=$(shell which $(CCOMP))
+SIMUPATH=$(shell which $(SIMU))
PRNG=../prng/prng.c
CFILES=insertion.c merge.c selection.c main.c
-ALL= insertion-test-gcc-x86 insertion-test-gcc-k1c\
- selection-test-gcc-x86 selection-test-gcc-k1c\
- merge-test-gcc-x86 merge-test-gcc-k1c\
- main-test-gcc-x86 main-test-gcc-k1c\
- main-test-ccomp-k1c
+ALL= insertion-gcc-x86 insertion-gcc-k1c insertion-ccomp-k1c\
+ selection-gcc-x86 selection-gcc-k1c selection-ccomp-k1c\
+ merge-gcc-x86 merge-gcc-k1c merge-ccomp-k1c\
+ main-gcc-x86 main-gcc-k1c main-ccomp-k1c
+
+CCOMP_OUT= insertion-ccomp-k1c.out selection-ccomp-k1c.out merge-ccomp-k1c.out\
+ main-ccomp-k1c.out
+GCC_OUT= insertion-gcc-k1c.out selection-gcc-k1c.out merge-gcc-k1c.out\
+ main-gcc-k1c.out
+X86_GCC_OUT= insertion-gcc-x86.out selection-gcc-x86.out merge-gcc-x86.out\
+ main-gcc-x86.out
+STUB_OUT= .zero
all: $(ALL)
-main-test-gcc-x86: $(CFILES) $(PRNG)
- $(CC) $(CFLAGS) $^ -o $@
+main-gcc-x86: $(CFILES) $(PRNG) $(CCPATH)
+ $(CC) $(CFLAGS) $(filter-out $(CCPATH),$^) -o $@
+
+%-gcc-x86: %.c $(PRNG) $(CCPATH)
+ $(CC) -D__UNIT_TEST_$$(echo $(basename $<) | tr a-z A-Z)__ $(CFLAGS) $(filter-out $(CCPATH),$^) -o $@
-%-test-gcc-x86: %.c $(PRNG)
- $(CC) -D__UNIT_TEST_$$(echo $(basename $<) | tr a-z A-Z)__ $(CFLAGS) $^ -o $@
+main-gcc-k1c: $(CFILES) $(PRNG) $(CCPATH)
+ $(K1CC) $(CFLAGS) $(filter-out $(CCPATH),$^) -o $@
-main-test-gcc-k1c: $(CFILES) $(PRNG)
- $(K1CC) $(CFLAGS) $^ -o $@
+%-gcc-k1c: %.c $(PRNG) $(K1CCPATH)
+ $(K1CC) -D__UNIT_TEST_$$(echo $(basename $<) | tr a-z A-Z)__ $(CFLAGS) $(filter-out $(K1CCPATH),$^) -o $@
-%-test-gcc-k1c: %.c $(PRNG)
- $(K1CC) -D__UNIT_TEST_$$(echo $(basename $<) | tr a-z A-Z)__ $(CFLAGS) $^ -o $@
+main-ccomp-k1c: $(CFILES) $(PRNG) $(CCOMPPATH)
+ $(CCOMP) $(CFLAGS) $(filter-out $(CCOMPPATH),$^) -o $@
-main-test-ccomp-k1c: $(CFILES) $(PRNG)
- $(CCOMP) $(CFLAGS) $^ -o $@
+%-ccomp-k1c: %.c $(PRNG) $(CCOMPPATH)
+ $(CCOMP) -D__UNIT_TEST_$$(echo $(basename $<) | tr a-z A-Z)__ $(CFLAGS) $(filter-out $(CCOMPPATH),$^) -o $@
-%-test-ccomp-k1c: %.c $(PRNG)
- $(CCOMP) -D__UNIT_TEST_$$(echo $(basename $<) | tr a-z A-Z)__ $(CFLAGS) $^ -o $@
+.SECONDARY:
+%x86.out: %x86
+ ret=0; timeout $(TIMEOUT) ./$< > $@ || { ret=$$?; }; echo $$ret >> $@
+
+%k1c.out: %k1c $(SIMUPATH)
+ ret=0; timeout $(TIMEOUT) $(SIMU) -- $< > $@ || { ret=$$?; }; echo $$ret >> $@
+
+.zero:
+ @echo "0" > $@
.PHONY:
-test-x86: insertion-test-gcc-x86 selection-test-gcc-x86 merge-test-gcc-x86 main-test-gcc-x86
- @for test in $^; do\
- if ! ./$$test; then\
+test-x86: $(STUB_OUT) $(X86_GCC_OUT)
+ @for test in $(wordlist 2,100,$^); do\
+ if ! diff $$test $(STUB_OUT); then\
>&2 echo "ERROR x86: $$test failed";\
else\
- echo "x86: Test $$test Succeeded";\
+ echo "GOOD x86: $$test succeeded";\
fi;\
done
.PHONY:
-test-k1c: insertion-test-gcc-k1c selection-test-gcc-k1c merge-test-gcc-k1c main-test-gcc-k1c
- @for test in $^; do\
- if ! k1-cluster -- ./$$test; then\
+test-k1c: $(STUB_OUT) $(GCC_OUT)
+ @for test in $(wordlist 2,100,$^); do\
+ if ! diff $$test $(STUB_OUT); then\
>&2 echo "ERROR k1c: $$test failed";\
else\
- echo "k1c: Test $$test Succeeded";\
+ echo "GOOD k1c: $$test succeeded";\
fi;\
done
@@ -57,13 +81,11 @@ test-k1c: insertion-test-gcc-k1c selection-test-gcc-k1c merge-test-gcc-k1c main-
test: test-x86 test-k1c
.PHONY:
-check: main-test-ccomp-k1c
- @if ! k1-cluster -- ./$<; then\
- >&2 echo "ERROR k1c: sort $< failed";\
- else\
- echo "k1c: Test sort $< succeeded";\
- fi
-
-.PHONY:
-clean:
- rm -f $(ALL)
+check: $(STUB_OUT) $(CCOMP_OUT)
+ @for test in $(wordlist 2,100,$^); do\
+ if ! diff $$test $(STUB_OUT); then\
+ >&2 echo "ERROR k1c: $$test failed";\
+ else\
+ echo "GOOD k1c: $$test succeeded";\
+ fi;\
+ done