Skip to content

Commit d7ffe15

Browse files
authored
Smaller target for Haskell profiling job (#1461)
* Makefile: add test-prove-smoke target * package/nix/profile.nix: only run smoke test, less in parallel * package/nix/profile.nix: run smoke test faster, build definitions ahead of time * tests/specs/smoke: add initial smoke test list * Update package/nix/profile.nix * package/nix/profile: fix github table rendering
1 parent 70e3e97 commit d7ffe15

File tree

4 files changed

+67
-15
lines changed

4 files changed

+67
-15
lines changed

Makefile

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -46,19 +46,19 @@ PLUGIN_FULL_PATH := $(abspath ${PLUGIN_SUBMODULE})
4646
export PLUGIN_FULL_PATH
4747

4848

49-
.PHONY: all clean distclean \
50-
deps k-deps plugin-deps libsecp256k1 libff protobuf \
51-
build build-haskell build-foundry build-llvm build-prove build-prove-haskell build-prove-java build-node build-kevm \
52-
test test-all test-conformance test-rest-conformance test-all-conformance test-slow-conformance test-failing-conformance \
53-
test-vm test-rest-vm test-all-vm test-bchain test-rest-bchain test-all-bchain test-node \
54-
test-prove test-failing-prove \
55-
test-prove-benchmarks test-prove-functional test-prove-opcodes test-prove-erc20 test-prove-bihu test-prove-examples \
56-
test-prove-mcd test-klab-prove \
57-
test-parse test-failure test-foundry test-foundry-forge \
58-
test-interactive test-interactive-help test-interactive-run test-interactive-prove test-interactive-search \
59-
test-kevm-pyk foundry-forge-build foundry-forge-test foundry-clean \
60-
media media-pdf metropolis-theme \
61-
install uninstall \
49+
.PHONY: all clean distclean \
50+
deps k-deps plugin-deps libsecp256k1 libff protobuf \
51+
build build-haskell build-foundry build-llvm build-prove build-prove-haskell build-prove-java build-node build-kevm \
52+
test test-all test-conformance test-rest-conformance test-all-conformance test-slow-conformance test-failing-conformance \
53+
test-vm test-rest-vm test-all-vm test-bchain test-rest-bchain test-all-bchain test-node \
54+
test-prove test-failing-prove \
55+
test-prove-benchmarks test-prove-functional test-prove-opcodes test-prove-erc20 test-prove-bihu test-prove-examples test-prove-smoke \
56+
test-prove-mcd test-klab-prove \
57+
test-parse test-failure test-foundry test-foundry-forge \
58+
test-interactive test-interactive-help test-interactive-run test-interactive-prove test-interactive-search \
59+
test-kevm-pyk foundry-forge-build foundry-forge-test foundry-clean \
60+
media media-pdf metropolis-theme \
61+
install uninstall \
6262
venv venv-clean kevm-pyk
6363
.SECONDARY:
6464

@@ -609,6 +609,7 @@ prove_bihu_tests := $(filter-out $(prove_skip_tests), $(wildcard $(prove
609609
prove_examples_tests := $(filter-out $(prove_skip_tests), $(wildcard $(prove_specs_dir)/examples/*-spec.k) $(wildcard $(prove_specs_dir)/examples/*-spec.md))
610610
prove_mcd_tests := $(filter-out $(prove_skip_tests), $(wildcard $(prove_specs_dir)/mcd/*-spec.k))
611611
prove_optimization_tests := $(filter-out $(prove_skip_tests), tests/specs/opcodes/evm-optimizations-spec.md)
612+
prove_smoke_tests := $(shell cat tests/specs/smoke)
612613

613614
## best-effort list of prove kompiled definitions to produce ahead of time
614615
prove_haskell_definitions := \
@@ -656,6 +657,7 @@ test-prove-bihu: $(prove_bihu_tests:=.prove)
656657
test-prove-examples: $(prove_examples_tests:=.prove)
657658
test-prove-mcd: $(prove_mcd_tests:=.prove)
658659
test-prove-optimizations: $(prove_optimization_tests:=.prove)
660+
test-prove-smoke: $(prove_smoke_tests:=.prove)
659661

660662
test-failing-prove: $(prove_failing_tests:=.prove)
661663

package/nix/profile.nix

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ in stdenv.mkDerivation {
2020
mkdir -p .build/usr
2121
cp -r ${kevm}/* .build/usr/
2222
${kore-exec}/bin/kore-exec --version &> log
23-
make test-prove TEST_SYMBOLIC_BACKEND=haskell KEVM='${profile}/bin/profile log timeout 3000 kevm' -j6 -k
23+
make build-prove-haskell -j4
24+
make test-prove-smoke TEST_SYMBOLIC_BACKEND=haskell KEVM='${profile}/bin/profile log timeout 600 kevm' -j6 -k
2425
'';
2526
enableParallelBuilding = true;
2627
installPhase = ''

package/nix/profile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,6 @@ def mkColumn(c, w):
8181
return ' ' + c.ljust(w) + ' '
8282

8383
columns = ['|'.join((mkColumn(c0, column_width0), mkColumn(c1, column_width1), mkColumn(c2, column_width2), mkColumn(c3, column_width3))) for (c0, c1, c2, c3) in final_table]
84-
columns[1] = columns[1].replace('|', '+').replace(' ', '-')
84+
columns[1] = columns[1].replace(' ', '-')
8585

8686
print('\n'.join(columns))

tests/specs/smoke

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
tests/specs/benchmarks/address00-spec.k
2+
tests/specs/benchmarks/bytes00-spec.k
3+
tests/specs/benchmarks/encode-keccak00-spec.k
4+
tests/specs/benchmarks/encodepacked-keccak01-spec.k
5+
tests/specs/benchmarks/keccak00-spec.k
6+
tests/specs/benchmarks/overflow00-nooverflow-spec.k
7+
tests/specs/benchmarks/overflow00-overflow-spec.k
8+
tests/specs/benchmarks/requires01-a0gt0-spec.k
9+
tests/specs/benchmarks/staticarray00-spec.k
10+
tests/specs/benchmarks/staticloop00-a0lt10-spec.k
11+
tests/specs/benchmarks/storagevar02-nooverflow-spec.k
12+
tests/specs/benchmarks/storagevar02-overflow-spec.k
13+
tests/specs/bihu/forwardToHotWallet-failure-1-spec.k
14+
tests/specs/bihu/forwardToHotWallet-failure-2-spec.k
15+
tests/specs/bihu/forwardToHotWallet-failure-3-spec.k
16+
tests/specs/erc20/ds/allowance-spec.k
17+
tests/specs/erc20/ds/approve-success-spec.k
18+
tests/specs/erc20/ds/balanceOf-spec.k
19+
tests/specs/erc20/ds/transfer-failure-1-c-spec.k
20+
tests/specs/erc20/ds/transfer-failure-2-b-spec.k
21+
tests/specs/erc20/ds/transferFrom-failure-1-d-spec.k
22+
tests/specs/erc20/ds/transferFrom-failure-2-c-spec.k
23+
tests/specs/erc20/hkg/allowance-spec.k
24+
tests/specs/erc20/hkg/approve-spec.k
25+
tests/specs/erc20/hkg/transfer-failure-1-spec.k
26+
tests/specs/erc20/hkg/transfer-failure-2-spec.k
27+
tests/specs/erc20/hkg/transferFrom-failure-2-spec.k
28+
tests/specs/erc20/hkg/transferFrom-success-2-spec.k
29+
tests/specs/erc20/hkg/transfer-success-1-spec.k
30+
tests/specs/erc20/hkg/transfer-success-2-spec.k
31+
tests/specs/examples/solidity-code-spec.md
32+
tests/specs/mcd/cat-exhaustiveness-spec.k
33+
tests/specs/mcd/cat-file-addr-pass-rough-spec.k
34+
tests/specs/mcd/dai-symbol-pass-spec.k
35+
tests/specs/mcd/dsvalue-read-pass-spec.k
36+
tests/specs/mcd/dsvalue-read-pass-summarize-spec.k
37+
tests/specs/mcd/end-subuu-pass-spec.k
38+
tests/specs/mcd/flipper-tau-pass-spec.k
39+
tests/specs/mcd/flipper-ttl-pass-spec.k
40+
tests/specs/mcd/flopper-cage-pass-spec.k
41+
tests/specs/mcd/functional-spec.k
42+
tests/specs/mcd/vat-addui-fail-rough-spec.k
43+
tests/specs/mcd/vat-deny-diff-fail-rough-spec.k
44+
tests/specs/mcd/vat-mului-pass-spec.k
45+
tests/specs/mcd/vat-subui-fail-rough-spec.k
46+
tests/specs/mcd/vat-subui-pass-rough-spec.k
47+
tests/specs/mcd/vat-subui-pass-spec.k
48+
tests/specs/mcd/vow-fess-fail-rough-spec.k
49+
tests/specs/mcd/vow-flog-fail-rough-spec.k

0 commit comments

Comments
 (0)