better autotest framework, make test

This commit is contained in:
Wolfgang Spraul 2012-08-31 08:52:27 +02:00
parent 75a047ac3e
commit bec26d7bc0
4 changed files with 501 additions and 3 deletions

1
.gitignore vendored
View File

@ -30,3 +30,4 @@ bit2fp
bit2fp.o
parts.o
autotest.tmp/
autotest.out/

View File

@ -8,7 +8,7 @@
PREFIX ?= /usr/local
.PHONY: all clean install uninstall
.PHONY: all test clean install uninstall
.SECONDARY:
# -fno-omit-frame-pointer and -ggdb add almost nothing to execution
@ -26,6 +26,20 @@ MODEL_OBJ = model_main.o model_tiles.o model_devices.o model_ports.o model_conns
all: new_fp fp2bit bit2fp draw_svg_tiles \
autotest hstrrep sort_seq merge_seq pair2net
test: test_logic_cfg test_routing_sw
test_logic_cfg: autotest.out/autotest_logic_cfg.diff_to_gold
test_routing_sw: autotest.out/autotest_routing_sw.diff_to_gold
autotest_%.diff_to_gold: autotest_%.log
@diff -U 0 -I "^O #NODIFF" autotest.gold/autotest_$(*F).log $< > $@ || true
@if test -s $@; then echo "Test failed: $(*F), diff follows"; cat $@; else echo "Test succeeded: $(*F)"; fi;
autotest_%.log: autotest fp2bit bit2fp
@mkdir -p $(@D)
./autotest --test=$(*F) 2>&1 >$@
autotest: autotest.o $(MODEL_OBJ) floorplan.o control.o helper.o model.h
autotest.o: model.h floorplan.h control.h
@ -131,6 +145,9 @@ compare.%: xc6slx9_empty.%
@cat $<|awk '{if ($$1=="sw") printf "%s %s %s %s %s\n",$$2,$$3,$$4,$$5,$$6}'|sort >$@
clean:
rm -f $(foreach test,$(TESTS),"autotest.out/autotest_$(test).diff_to_gold")
rm -f $(foreach test,$(TESTS),"autotest.out/autotest_$(test).log")
rmdir --ignore-fail-on-non-empty autotest.out
rm -f draw_svg_tiles draw_svg_tiles.o \
new_fp new_fp.o \
helper.o $(MODEL_OBJ) hstrrep hstrrep.o \

View File

@ -13,8 +13,8 @@
time_t g_start_time;
#define TIME() (time(0)-g_start_time)
#define TIMESTAMP() printf("O timestamp %lld\n", (long long) TIME())
#define MEMUSAGE() printf("O memusage %i\n", get_vm_mb());
#define TIMESTAMP() printf("O #NODIFF timestamp %lld\n", (long long) TIME())
#define MEMUSAGE() printf("O #NODIFF memusage %i\n", get_vm_mb());
#define TIME_AND_MEM() TIMESTAMP(); MEMUSAGE()
#define AUTOTEST_TMP_DIR "autotest.tmp"

View File

@ -0,0 +1,480 @@
O fpgatools automatic test suite. Be welcome and be our guest. namo namaha.
O Test: logic_cfg
O Diff: ./autotest_diff.sh
O Skip: 0
O Time measured in seconds from 0.
O #NODIFF timestamp 0
O Memory usage reported in megabytes.
O #NODIFF memusage 15
O Building memory model...
O Done
O #NODIFF timestamp 4
O #NODIFF memusage 74
O begin dump autotest.tmp/autotest_logic_cfg_000001.diff
fp:
+dev y68 x13 LOGIC 0 A_used
+dev y68 x13 LOGIC 0 A6_lut A1
bit:
+dev y68 x13 LOGIC 0 A_used
+dev y68 x13 LOGIC 0 A6_lut A1
O end dump autotest.tmp/autotest_logic_cfg_000001.diff
O begin dump autotest.tmp/autotest_logic_cfg_000002.diff
fp:
-dev y68 x13 LOGIC 0 A6_lut A1
+dev y68 x13 LOGIC 0 A6_lut A2
bit:
-dev y68 x13 LOGIC 0 A6_lut A1
+dev y68 x13 LOGIC 0 A6_lut A2
O end dump autotest.tmp/autotest_logic_cfg_000002.diff
O begin dump autotest.tmp/autotest_logic_cfg_000003.diff
fp:
-dev y68 x13 LOGIC 0 A6_lut A2
+dev y68 x13 LOGIC 0 A6_lut A3
bit:
-dev y68 x13 LOGIC 0 A6_lut A2
+dev y68 x13 LOGIC 0 A6_lut A3
O end dump autotest.tmp/autotest_logic_cfg_000003.diff
O begin dump autotest.tmp/autotest_logic_cfg_000004.diff
fp:
-dev y68 x13 LOGIC 0 A6_lut A3
+dev y68 x13 LOGIC 0 A6_lut A4
bit:
-dev y68 x13 LOGIC 0 A6_lut A3
+dev y68 x13 LOGIC 0 A6_lut A4
O end dump autotest.tmp/autotest_logic_cfg_000004.diff
O begin dump autotest.tmp/autotest_logic_cfg_000005.diff
fp:
-dev y68 x13 LOGIC 0 A6_lut A4
+dev y68 x13 LOGIC 0 A6_lut A5
bit:
-dev y68 x13 LOGIC 0 A6_lut A4
+dev y68 x13 LOGIC 0 A6_lut A5
O end dump autotest.tmp/autotest_logic_cfg_000005.diff
O begin dump autotest.tmp/autotest_logic_cfg_000006.diff
fp:
-dev y68 x13 LOGIC 0 A6_lut A5
+dev y68 x13 LOGIC 0 A6_lut A6
bit:
-dev y68 x13 LOGIC 0 A6_lut A5
+dev y68 x13 LOGIC 0 A6_lut A6
O end dump autotest.tmp/autotest_logic_cfg_000006.diff
O begin dump autotest.tmp/autotest_logic_cfg_000007.diff
fp:
-dev y68 x13 LOGIC 0 A_used
-dev y68 x13 LOGIC 0 A6_lut A6
+dev y68 x13 LOGIC 0 B_used
+dev y68 x13 LOGIC 0 B6_lut A1
bit:
-dev y68 x13 LOGIC 0 A_used
-dev y68 x13 LOGIC 0 A6_lut A6
+dev y68 x13 LOGIC 0 B_used
+dev y68 x13 LOGIC 0 B6_lut A1
O end dump autotest.tmp/autotest_logic_cfg_000007.diff
O begin dump autotest.tmp/autotest_logic_cfg_000008.diff
fp:
-dev y68 x13 LOGIC 0 B6_lut A1
+dev y68 x13 LOGIC 0 B6_lut A2
bit:
-dev y68 x13 LOGIC 0 B6_lut A1
+dev y68 x13 LOGIC 0 B6_lut A2
O end dump autotest.tmp/autotest_logic_cfg_000008.diff
O begin dump autotest.tmp/autotest_logic_cfg_000009.diff
fp:
-dev y68 x13 LOGIC 0 B6_lut A2
+dev y68 x13 LOGIC 0 B6_lut A3
bit:
-dev y68 x13 LOGIC 0 B6_lut A2
+dev y68 x13 LOGIC 0 B6_lut A3
O end dump autotest.tmp/autotest_logic_cfg_000009.diff
O begin dump autotest.tmp/autotest_logic_cfg_000010.diff
fp:
-dev y68 x13 LOGIC 0 B6_lut A3
+dev y68 x13 LOGIC 0 B6_lut A4
bit:
-dev y68 x13 LOGIC 0 B6_lut A3
+dev y68 x13 LOGIC 0 B6_lut A4
O end dump autotest.tmp/autotest_logic_cfg_000010.diff
O begin dump autotest.tmp/autotest_logic_cfg_000011.diff
fp:
-dev y68 x13 LOGIC 0 B6_lut A4
+dev y68 x13 LOGIC 0 B6_lut A5
bit:
-dev y68 x13 LOGIC 0 B6_lut A4
+dev y68 x13 LOGIC 0 B6_lut A5
O end dump autotest.tmp/autotest_logic_cfg_000011.diff
O begin dump autotest.tmp/autotest_logic_cfg_000012.diff
fp:
-dev y68 x13 LOGIC 0 B6_lut A5
+dev y68 x13 LOGIC 0 B6_lut A6
bit:
-dev y68 x13 LOGIC 0 B6_lut A5
+dev y68 x13 LOGIC 0 B6_lut A6
O end dump autotest.tmp/autotest_logic_cfg_000012.diff
O begin dump autotest.tmp/autotest_logic_cfg_000013.diff
fp:
-dev y68 x13 LOGIC 0 B_used
-dev y68 x13 LOGIC 0 B6_lut A6
+dev y68 x13 LOGIC 0 C_used
+dev y68 x13 LOGIC 0 C6_lut A1
bit:
-dev y68 x13 LOGIC 0 B_used
-dev y68 x13 LOGIC 0 B6_lut A6
+dev y68 x13 LOGIC 0 C_used
+dev y68 x13 LOGIC 0 C6_lut A1
O end dump autotest.tmp/autotest_logic_cfg_000013.diff
O begin dump autotest.tmp/autotest_logic_cfg_000014.diff
fp:
-dev y68 x13 LOGIC 0 C6_lut A1
+dev y68 x13 LOGIC 0 C6_lut A2
bit:
-dev y68 x13 LOGIC 0 C6_lut A1
+dev y68 x13 LOGIC 0 C6_lut A2
O end dump autotest.tmp/autotest_logic_cfg_000014.diff
O begin dump autotest.tmp/autotest_logic_cfg_000015.diff
fp:
-dev y68 x13 LOGIC 0 C6_lut A2
+dev y68 x13 LOGIC 0 C6_lut A3
bit:
-dev y68 x13 LOGIC 0 C6_lut A2
+dev y68 x13 LOGIC 0 C6_lut A3
O end dump autotest.tmp/autotest_logic_cfg_000015.diff
O begin dump autotest.tmp/autotest_logic_cfg_000016.diff
fp:
-dev y68 x13 LOGIC 0 C6_lut A3
+dev y68 x13 LOGIC 0 C6_lut A4
bit:
-dev y68 x13 LOGIC 0 C6_lut A3
+dev y68 x13 LOGIC 0 C6_lut A4
O end dump autotest.tmp/autotest_logic_cfg_000016.diff
O begin dump autotest.tmp/autotest_logic_cfg_000017.diff
fp:
-dev y68 x13 LOGIC 0 C6_lut A4
+dev y68 x13 LOGIC 0 C6_lut A5
bit:
-dev y68 x13 LOGIC 0 C6_lut A4
+dev y68 x13 LOGIC 0 C6_lut A5
O end dump autotest.tmp/autotest_logic_cfg_000017.diff
O begin dump autotest.tmp/autotest_logic_cfg_000018.diff
fp:
-dev y68 x13 LOGIC 0 C6_lut A5
+dev y68 x13 LOGIC 0 C6_lut A6
bit:
-dev y68 x13 LOGIC 0 C6_lut A5
+dev y68 x13 LOGIC 0 C6_lut A6
O end dump autotest.tmp/autotest_logic_cfg_000018.diff
O begin dump autotest.tmp/autotest_logic_cfg_000019.diff
fp:
-dev y68 x13 LOGIC 0 C_used
-dev y68 x13 LOGIC 0 C6_lut A6
+dev y68 x13 LOGIC 0 D_used
+dev y68 x13 LOGIC 0 D6_lut A1
bit:
-dev y68 x13 LOGIC 0 C_used
-dev y68 x13 LOGIC 0 C6_lut A6
+dev y68 x13 LOGIC 0 D_used
+dev y68 x13 LOGIC 0 D6_lut A1
O end dump autotest.tmp/autotest_logic_cfg_000019.diff
O begin dump autotest.tmp/autotest_logic_cfg_000020.diff
fp:
-dev y68 x13 LOGIC 0 D6_lut A1
+dev y68 x13 LOGIC 0 D6_lut A2
bit:
-dev y68 x13 LOGIC 0 D6_lut A1
+dev y68 x13 LOGIC 0 D6_lut A2
O end dump autotest.tmp/autotest_logic_cfg_000020.diff
O begin dump autotest.tmp/autotest_logic_cfg_000021.diff
fp:
-dev y68 x13 LOGIC 0 D6_lut A2
+dev y68 x13 LOGIC 0 D6_lut A3
bit:
-dev y68 x13 LOGIC 0 D6_lut A2
+dev y68 x13 LOGIC 0 D6_lut A3
O end dump autotest.tmp/autotest_logic_cfg_000021.diff
O begin dump autotest.tmp/autotest_logic_cfg_000022.diff
fp:
-dev y68 x13 LOGIC 0 D6_lut A3
+dev y68 x13 LOGIC 0 D6_lut A4
bit:
-dev y68 x13 LOGIC 0 D6_lut A3
+dev y68 x13 LOGIC 0 D6_lut A4
O end dump autotest.tmp/autotest_logic_cfg_000022.diff
O begin dump autotest.tmp/autotest_logic_cfg_000023.diff
fp:
-dev y68 x13 LOGIC 0 D6_lut A4
+dev y68 x13 LOGIC 0 D6_lut A5
bit:
-dev y68 x13 LOGIC 0 D6_lut A4
+dev y68 x13 LOGIC 0 D6_lut A5
O end dump autotest.tmp/autotest_logic_cfg_000023.diff
O begin dump autotest.tmp/autotest_logic_cfg_000024.diff
fp:
-dev y68 x13 LOGIC 0 D6_lut A5
+dev y68 x13 LOGIC 0 D6_lut A6
bit:
-dev y68 x13 LOGIC 0 D6_lut A5
+dev y68 x13 LOGIC 0 D6_lut A6
O end dump autotest.tmp/autotest_logic_cfg_000024.diff
O begin dump autotest.tmp/autotest_logic_cfg_000025.diff
fp:
-dev y68 x13 LOGIC 0 D_used
-dev y68 x13 LOGIC 0 D6_lut A6
+dev y68 x13 LOGIC 1 A_used
+dev y68 x13 LOGIC 1 A6_lut A1
bit:
-dev y68 x13 LOGIC 0 D_used
-dev y68 x13 LOGIC 0 D6_lut A6
+dev y68 x13 LOGIC 1 A_used
+dev y68 x13 LOGIC 1 A6_lut A1
O end dump autotest.tmp/autotest_logic_cfg_000025.diff
O begin dump autotest.tmp/autotest_logic_cfg_000026.diff
fp:
-dev y68 x13 LOGIC 1 A6_lut A1
+dev y68 x13 LOGIC 1 A6_lut A2
bit:
-dev y68 x13 LOGIC 1 A6_lut A1
+dev y68 x13 LOGIC 1 A6_lut A2
O end dump autotest.tmp/autotest_logic_cfg_000026.diff
O begin dump autotest.tmp/autotest_logic_cfg_000027.diff
fp:
-dev y68 x13 LOGIC 1 A6_lut A2
+dev y68 x13 LOGIC 1 A6_lut A3
bit:
-dev y68 x13 LOGIC 1 A6_lut A2
+dev y68 x13 LOGIC 1 A6_lut A3
O end dump autotest.tmp/autotest_logic_cfg_000027.diff
O begin dump autotest.tmp/autotest_logic_cfg_000028.diff
fp:
-dev y68 x13 LOGIC 1 A6_lut A3
+dev y68 x13 LOGIC 1 A6_lut A4
bit:
-dev y68 x13 LOGIC 1 A6_lut A3
+dev y68 x13 LOGIC 1 A6_lut A4
O end dump autotest.tmp/autotest_logic_cfg_000028.diff
O begin dump autotest.tmp/autotest_logic_cfg_000029.diff
fp:
-dev y68 x13 LOGIC 1 A6_lut A4
+dev y68 x13 LOGIC 1 A6_lut A5
bit:
-dev y68 x13 LOGIC 1 A6_lut A4
+dev y68 x13 LOGIC 1 A6_lut A5
O end dump autotest.tmp/autotest_logic_cfg_000029.diff
O begin dump autotest.tmp/autotest_logic_cfg_000030.diff
fp:
-dev y68 x13 LOGIC 1 A6_lut A5
+dev y68 x13 LOGIC 1 A6_lut A6
bit:
-dev y68 x13 LOGIC 1 A6_lut A5
+dev y68 x13 LOGIC 1 A6_lut A6
O end dump autotest.tmp/autotest_logic_cfg_000030.diff
O begin dump autotest.tmp/autotest_logic_cfg_000031.diff
fp:
-dev y68 x13 LOGIC 1 A_used
-dev y68 x13 LOGIC 1 A6_lut A6
+dev y68 x13 LOGIC 1 B_used
+dev y68 x13 LOGIC 1 B6_lut A1
bit:
-dev y68 x13 LOGIC 1 A_used
-dev y68 x13 LOGIC 1 A6_lut A6
+dev y68 x13 LOGIC 1 B_used
+dev y68 x13 LOGIC 1 B6_lut A1
O end dump autotest.tmp/autotest_logic_cfg_000031.diff
O begin dump autotest.tmp/autotest_logic_cfg_000032.diff
fp:
-dev y68 x13 LOGIC 1 B6_lut A1
+dev y68 x13 LOGIC 1 B6_lut A2
bit:
-dev y68 x13 LOGIC 1 B6_lut A1
+dev y68 x13 LOGIC 1 B6_lut A2
O end dump autotest.tmp/autotest_logic_cfg_000032.diff
O begin dump autotest.tmp/autotest_logic_cfg_000033.diff
fp:
-dev y68 x13 LOGIC 1 B6_lut A2
+dev y68 x13 LOGIC 1 B6_lut A3
bit:
-dev y68 x13 LOGIC 1 B6_lut A2
+dev y68 x13 LOGIC 1 B6_lut A3
O end dump autotest.tmp/autotest_logic_cfg_000033.diff
O begin dump autotest.tmp/autotest_logic_cfg_000034.diff
fp:
-dev y68 x13 LOGIC 1 B6_lut A3
+dev y68 x13 LOGIC 1 B6_lut A4
bit:
-dev y68 x13 LOGIC 1 B6_lut A3
+dev y68 x13 LOGIC 1 B6_lut A4
O end dump autotest.tmp/autotest_logic_cfg_000034.diff
O begin dump autotest.tmp/autotest_logic_cfg_000035.diff
fp:
-dev y68 x13 LOGIC 1 B6_lut A4
+dev y68 x13 LOGIC 1 B6_lut A5
bit:
-dev y68 x13 LOGIC 1 B6_lut A4
+dev y68 x13 LOGIC 1 B6_lut A5
O end dump autotest.tmp/autotest_logic_cfg_000035.diff
O begin dump autotest.tmp/autotest_logic_cfg_000036.diff
fp:
-dev y68 x13 LOGIC 1 B6_lut A5
+dev y68 x13 LOGIC 1 B6_lut A6
bit:
-dev y68 x13 LOGIC 1 B6_lut A5
+dev y68 x13 LOGIC 1 B6_lut A6
O end dump autotest.tmp/autotest_logic_cfg_000036.diff
O begin dump autotest.tmp/autotest_logic_cfg_000037.diff
fp:
-dev y68 x13 LOGIC 1 B_used
-dev y68 x13 LOGIC 1 B6_lut A6
+dev y68 x13 LOGIC 1 C_used
+dev y68 x13 LOGIC 1 C6_lut A1
bit:
-dev y68 x13 LOGIC 1 B_used
-dev y68 x13 LOGIC 1 B6_lut A6
+dev y68 x13 LOGIC 1 C_used
+dev y68 x13 LOGIC 1 C6_lut A1
O end dump autotest.tmp/autotest_logic_cfg_000037.diff
O begin dump autotest.tmp/autotest_logic_cfg_000038.diff
fp:
-dev y68 x13 LOGIC 1 C6_lut A1
+dev y68 x13 LOGIC 1 C6_lut A2
bit:
-dev y68 x13 LOGIC 1 C6_lut A1
+dev y68 x13 LOGIC 1 C6_lut A2
O end dump autotest.tmp/autotest_logic_cfg_000038.diff
O begin dump autotest.tmp/autotest_logic_cfg_000039.diff
fp:
-dev y68 x13 LOGIC 1 C6_lut A2
+dev y68 x13 LOGIC 1 C6_lut A3
bit:
-dev y68 x13 LOGIC 1 C6_lut A2
+dev y68 x13 LOGIC 1 C6_lut A3
O end dump autotest.tmp/autotest_logic_cfg_000039.diff
O begin dump autotest.tmp/autotest_logic_cfg_000040.diff
fp:
-dev y68 x13 LOGIC 1 C6_lut A3
+dev y68 x13 LOGIC 1 C6_lut A4
bit:
-dev y68 x13 LOGIC 1 C6_lut A3
+dev y68 x13 LOGIC 1 C6_lut A4
O end dump autotest.tmp/autotest_logic_cfg_000040.diff
O begin dump autotest.tmp/autotest_logic_cfg_000041.diff
fp:
-dev y68 x13 LOGIC 1 C6_lut A4
+dev y68 x13 LOGIC 1 C6_lut A5
bit:
-dev y68 x13 LOGIC 1 C6_lut A4
+dev y68 x13 LOGIC 1 C6_lut A5
O end dump autotest.tmp/autotest_logic_cfg_000041.diff
O begin dump autotest.tmp/autotest_logic_cfg_000042.diff
fp:
-dev y68 x13 LOGIC 1 C6_lut A5
+dev y68 x13 LOGIC 1 C6_lut A6
bit:
-dev y68 x13 LOGIC 1 C6_lut A5
+dev y68 x13 LOGIC 1 C6_lut A6
O end dump autotest.tmp/autotest_logic_cfg_000042.diff
O begin dump autotest.tmp/autotest_logic_cfg_000043.diff
fp:
-dev y68 x13 LOGIC 1 C_used
-dev y68 x13 LOGIC 1 C6_lut A6
+dev y68 x13 LOGIC 1 D_used
+dev y68 x13 LOGIC 1 D6_lut A1
bit:
-dev y68 x13 LOGIC 1 C_used
-dev y68 x13 LOGIC 1 C6_lut A6
+dev y68 x13 LOGIC 1 D_used
+dev y68 x13 LOGIC 1 D6_lut A1
O end dump autotest.tmp/autotest_logic_cfg_000043.diff
O begin dump autotest.tmp/autotest_logic_cfg_000044.diff
fp:
-dev y68 x13 LOGIC 1 D6_lut A1
+dev y68 x13 LOGIC 1 D6_lut A2
bit:
-dev y68 x13 LOGIC 1 D6_lut A1
+dev y68 x13 LOGIC 1 D6_lut A2
O end dump autotest.tmp/autotest_logic_cfg_000044.diff
O begin dump autotest.tmp/autotest_logic_cfg_000045.diff
fp:
-dev y68 x13 LOGIC 1 D6_lut A2
+dev y68 x13 LOGIC 1 D6_lut A3
bit:
-dev y68 x13 LOGIC 1 D6_lut A2
+dev y68 x13 LOGIC 1 D6_lut A3
O end dump autotest.tmp/autotest_logic_cfg_000045.diff
O begin dump autotest.tmp/autotest_logic_cfg_000046.diff
fp:
-dev y68 x13 LOGIC 1 D6_lut A3
+dev y68 x13 LOGIC 1 D6_lut A4
bit:
-dev y68 x13 LOGIC 1 D6_lut A3
+dev y68 x13 LOGIC 1 D6_lut A4
O end dump autotest.tmp/autotest_logic_cfg_000046.diff
O begin dump autotest.tmp/autotest_logic_cfg_000047.diff
fp:
-dev y68 x13 LOGIC 1 D6_lut A4
+dev y68 x13 LOGIC 1 D6_lut A5
bit:
-dev y68 x13 LOGIC 1 D6_lut A4
+dev y68 x13 LOGIC 1 D6_lut A5
O end dump autotest.tmp/autotest_logic_cfg_000047.diff
O begin dump autotest.tmp/autotest_logic_cfg_000048.diff
fp:
-dev y68 x13 LOGIC 1 D6_lut A5
+dev y68 x13 LOGIC 1 D6_lut A6
bit:
-dev y68 x13 LOGIC 1 D6_lut A5
+dev y68 x13 LOGIC 1 D6_lut A6
O end dump autotest.tmp/autotest_logic_cfg_000048.diff
O Test completed.
O #NODIFF timestamp 384
O #NODIFF memusage 74