@@ -42,15 +42,19 @@ postcondition_pass=$(wildcard tests/postconditions/pass/*.act) $(typing_pass)
4242postcondition_fail =$(wildcard tests/postconditions/fail/* .act)
4343
4444# supposed to pass, but timeout
45- hevm_buggy =tests/hevm/pass/transfer/transfer.act
45+ hevm_buggy =tests/hevm/pass/transfer/transfer.act tests/hevm/pass/multisource/amm/sol_vyper.json tests/hevm/pass/multisource/amm/vyper_sol.json
4646# supposed to pass
4747hevm_pass =$(filter-out $(hevm_buggy ) , $(wildcard tests/hevm/pass/* /* .act) )
48+ hevm_vy_pass =$(wildcard tests/hevm/pass/vyper/* /* .act)
49+ hevm_multi_pass =$(filter-out $(hevm_buggy ) , $(wildcard tests/hevm/pass/multisource/* /* .json) )
4850# supposed to fail
4951hevm_fail =$(wildcard tests/hevm/fail/* /* .act)
5052# supposed to pass
5153hevm_slow =tests/hevm/pass/amm/amm.act tests/hevm/pass/amm-2/amm-2.act
54+ hevm_multi_slow =$(wildcard tests/hevm/pass/multisource/amm/* .json) $(wildcard tests/hevm/pass/multisource/erc20/* .json)
5255# supposed to pass, no slow tests
5356hevm_fast =$(filter-out $(hevm_slow ) , $(hevm_pass ) )
57+ hevm_multi_fast =$(filter-out $(hevm_multi_slow ) , $(hevm_multi_pass ) )
5458
5559# supposed to pass
5660failing_typing =tests/frontend/pass/dss/vat.act tests/frontend/pass/creation/createMultiple.act tests/frontend/pass/staticstore/staticstore.act
@@ -68,8 +72,8 @@ test-parse: parser compiler $(parser_pass:=.parse.pass) $(parser_fail:=.parse.fa
6872test-type : parser compiler $(typing_pass:=.type.pass ) $(typing_fail:=.type.fail )
6973test-invariant : parser compiler $(invariant_pass:=.invariant.pass ) $(invariant_fail:=.invariant.fail )
7074test-postcondition : parser compiler $(postcondition_pass:=.postcondition.pass ) $(postcondition_fail:=.postcondition.fail )
71- test-hevm : parser compiler $(hevm_pass:=.hevm.pass ) $(hevm_fail:=.hevm.fail )
72- test-hevm-fast : parser compiler $(hevm_fast:=.hevm.pass.fast ) $(hevm_fail:=.hevm.fail )
75+ test-hevm : parser compiler $(hevm_pass:=.hevm.pass ) $(hevm_vy_pass:=.hevm.vy.pass ) $( hevm_multi_pass:=.hevm.multi.pass ) $( hevm_fail:=.hevm.fail )
76+ test-hevm-fast : parser compiler $(hevm_fast:=.hevm.pass.fast ) $(hevm_vy_pass:=.hevm.vy.pass ) $( hevm_multi_fast:=.hevm.multi.pass ) $( hevm_fail:=.hevm.fail )
7377test-cabal : src/* .hs
7478 cabal v2-run test
7579
@@ -108,15 +112,22 @@ tests/%.postcondition.fail:
108112
109113tests/hevm/pass/% .act.hevm.pass :
110114 $(eval CONTRACT := $(shell awk '/contract/{ print $$2 }' tests/hevm/pass/$* .sol) )
111- ./bin/act hevm --spec tests/hevm/pass/$* .act --sol tests/hevm/pass/$* .sol --smttimeout 100000000
115+ ./bin/act hevm --spec tests/hevm/pass/$* .act --sol tests/hevm/pass/$* .sol --solver bitwuzla --smttimeout 100000000
116+
117+ tests/hevm/pass/% .act.hevm.vy.pass :
118+ $(eval CONTRACT := $(shell awk '/contract/{ print $$2 }' tests/hevm/pass/$* .vy) )
119+ ./bin/act hevm --spec tests/hevm/pass/$* .act --vy tests/hevm/pass/$* .vy --solver bitwuzla --smttimeout 100000000
120+
121+ tests/hevm/pass/% .json.hevm.multi.pass :
122+ ./bin/act hevm --sources tests/hevm/pass/$* .json --solver bitwuzla --smttimeout 100000000
112123
113124tests/hevm/fail/% .act.hevm.fail :
114125 $(eval CONTRACT := $(shell awk '/contract/{ print $$2 }' tests/hevm/fail/$* .sol) )
115- ./bin/act hevm --spec tests/hevm/fail/$* .act --sol tests/hevm/fail/$* .sol && exit 1 || echo 0
126+ ./bin/act hevm --spec tests/hevm/fail/$* .act --sol tests/hevm/fail/$* .sol --solver bitwuzla && exit 1 || echo 0
116127
117128tests/hevm/pass/% .act.hevm.pass.fast :
118129 $(eval CONTRACT := $(shell awk '/contract/{ print $$2 }' tests/hevm/pass/$* .sol) )
119- ./bin/act hevm --spec tests/hevm/pass/$* .act --sol tests/hevm/pass/$* .sol --smttimeout 100000000
130+ ./bin/act hevm --spec tests/hevm/pass/$* .act --sol tests/hevm/pass/$* .sol --solver bitwuzla -- smttimeout 100000000
120131
121132test-ci : test-parse test-type test-invariant test-postcondition test-coq test-hevm
122133test : test-ci test-cabal
0 commit comments