forked from ethereum/tests
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Makefile
64 lines (45 loc) · 1.74 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
ETHEREUM_TEST_PATH=$(CURDIR)
export ETHEREUM_TEST_PATH
# TODO: stop stripping out stEWASMTests from gs_tests
tx_tests:=$(wildcard TransactionTests/*)
gs_tests:=$(filter-out %stEWASMTests, $(wildcard GeneralStateTests/*))
bc_tests:=$(wildcard BlockchainTests/*)
vm_tests:=$(wildcard VMTests/*)
all_tests:=$(gs_tests) $(bc_tests) $(vm_tests)
tx_fillers:=$(wildcard src/TransactionTestsFiller/*)
gs_fillers:=$(wildcard src/GeneralStateTestsFiller/*)
bc_fillers:=$(wildcard src/BlockchainTestsFiller/*)
vm_fillers:=$(filter-out %.sol %.md, $(wildcard src/VMTestsFiller/*))
all_fillers:=$(gs_fillers) $(bc_fillers) $(vm_fillers)
all_schemas:=$(wildcard JSONSchema/*.json)
# Testset sanitation
sani: sani-schema sani-vm sani-gs sani-tx sani-bc
sani-schema: $(all_schemas:=.format)
sani-vm: $(vm_tests:=.format) $(vm_fillers:=.format) \
$(vm_tests:=.valid) $(vm_fillers:=.valid) \
$(vm_tests:=.filled)
# TODO: enable $(gs_fillers:=.valid) $(gs_tests:=.format) $(gs_fillers:=.format)
sani-gs: $(gs_tests:=.valid) \
$(gs_tests:=.filled)
# TODO: enable $(tx_tests:=.format) $(tx_fillers:=.format) $(tx_tests:=.valid) $(tx_fillers:=.valid)
sani-tx: $(tx_tests:=.filled)
# TODO: enable $(bc_tests:=.format) $(bc_fillers:=.format) $(bc_tests:=.filled)
sani-bc: $(bc_tests:=.valid) $(bc_fillers:=.valid)
%.format:
python3 test.py format ./$*
git diff --quiet --exit-code &>/dev/null
%.valid:
python3 test.py validate ./$*
%.filled:
python3 test.py checkFilled ./$*
# Test running command
run-tests:=$(all-tests:=.test)
run: $(run-tests)
%.run:
testeth -t $* -- --verbosity 2
# Test filling command
fill-tests:=$(all-tests:=.fill)
fill: $(fill-tests)
%.fill:
testeth -t $* -- --filltests --verbosity 2 --all
python3 test.py format ./$*