Skip to content

Do not merge: Compute jumpdests using the python implementation#594

Closed
anvacaru wants to merge 4 commits intomasterfrom
jumpdests
Closed

Do not merge: Compute jumpdests using the python implementation#594
anvacaru wants to merge 4 commits intomasterfrom
jumpdests

Conversation

@anvacaru
Copy link
Contributor

Some experiments here:

  1. Adding support for Compute jumpdests using the KCFGSemantics.custom_step heuristic evm-semantics#2441.
  2. To avoid breaking CSE, the cell in the _init_cterm had to be computed in the same way as in the EVM.program.load custom step. As a way to implement this, the program bytecode is inserted directly into the initial configuration (previously was added using some #binRuntime(ContractName) macro rule generated during kontrol build.
  3. As with this implementation there's not any use to the #binRuntime and #initBytecode macros, I removed them from the generated contracts.k.

@@ -1724,7 +1738,9 @@ module SUMMARY-TEST%ASSERTTEST.TESTFAIL-EXPECT-REVERT():0
<k>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From here on, the diff mechanism of GitHub is getting a bit confused because there are many lines that are the same, but then many that are different in between. This is because of the two additional nodes, 13 and 14.



rule [BASIC-BLOCK-10-TO-12]: <foundry>
rule [BASIC-BLOCK-1-TO-15]: <foundry>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again, the diff is getting confused because there was a completely expected change in node enumeration, and so the order of the edges of the KCFG is different.



rule [BASIC-BLOCK-10-TO-12]: <foundry>
rule [BASIC-BLOCK-1-TO-15]: <foundry>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again, the diff is getting confused because there was a completely expected change in node enumeration, and so the order of the edges of the KCFG is different.

Copy link
Contributor

@PetarMax PetarMax left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me. @anvacaru, could you please take one of the CSE expected outputs whose diff has gone AWOL and manually inspect the actual difference to see if there's anything of interest, I suspect there won't be.

There are numerous changes across expected KCFGs in the ids assigned to various nodes; this is because (mostly) setUp functions have more nodes now because of the new cut-point rule to compute the jump destinations, and this gets propagated into the KCFG of the test. This is ok.

@ehildenb
Copy link
Member

ehildenb commented Jun 1, 2024

You can try different diffing mechanisms locally to see if it improves the view. Two options that are useful are -b and --patience options. -b tells it "don't consider whitespace for diffs", and --patience is a slightly better diffing algorithm for when diffs involve line reorderings and such:

image

@PetarMax
Copy link
Contributor

PetarMax commented Jun 2, 2024

The conflicts currently present are introduced by the merging of #563, which runs contract constructors in CSE-related tests, once the main files have been sorted out the expected outputs will need to be updated.

@anvacaru
Copy link
Contributor Author

anvacaru commented Jun 3, 2024

Profiling

build stage

| Metric            | pyjumpdests Time | master Time | (pyjumpdests/master) Ratio |
|-------------------|------------------|-------------|----------------------------|
| User Time (s)     | 1152.35          | 1244.36     | 0.926                      |
| System Time (s)   | 23.26            | 23.76       | 0.979                      |
| Elapsed Time (m)  | 2:37.35          | 2:44.98     | 0.953                      |
| CPU Usage (%)     | 747              | 768         | 0.973                      |
| Memory Usage (k)  | 7908540          | 7858984     | 1.006                      |

cse tests

| Test                                                                     | pyjumpdests time | master time        | (pyjumpdests/master) time 
|--------------------------------------------------------------------------|------------------|--------------------|---------------------------
| ArithmeticContract.add(uint256,uint256)                                  | 15.82            | 57.07              | 0.277203434378833         
| Identity.identity(uint256)                                               | 13.16            | 30.79              | 0.42741149723936345       
| AddConst.applyOp(uint256)                                                | 59.18            | 56.81              | 1.0417180073930645        
| Identity.applyOp(uint256)                                                | 99.68            | 93.29              | 1.0684960874691822        
| ArithmeticCallTest.test_double_add_sub_external(uint256,uint256,uint256) | 373.62           | 349.43             | 1.069227026872335         
| AssertTest.testFail_expect_revert()                                      | 113.45           | 105.71             | 1.0732191845615364        
| ArithmeticCallTest.test_double_add(uint256,uint256)                      | 270.02           | 250.47             | 1.0780532598714416        
| ArithmeticCallTest.test_double_add_double_sub(uint256,uint256)           | 405.78           | 373.41             | 1.0866875552341928        
| CSETest.test_identity(uint256,uint256)                                   | 215.8            | 193.25             | 1.1166882276843468        
| CSETest.test_add_const(uint256,uint256)                                  | 224.07           | 197.11             | 1.136776419258282         
| TOTAL                                                                    | 1790.58          | 1707.3400000000001 | 1.048754202443567         

integration tests

| Test                                                                       | pyjumpdests time | master time       | (pyjumpdests/master) time 
|----------------------------------------------------------------------------|------------------|-------------------|---------------------------
| src/tests/integration/test_foundry_prove.py::test_foundry_split_node       | 430.22           | 493.9             | 0.8710670176149019        
| FreshCheatcodes.test_bool()                                                | 37.72            | 39.66             | 0.9510842158345941        
| StoreTest.testGasLoadColdVM()                                              | 35.53            | 34.32             | 1.0352564102564104        
| BlockParamsTest.testRoll(uint256)                                          | 38.53            | 37.17             | 1.0365886467581382        
| SymbolicStorageTest.testFail_SymbolicStorage(uint256)                      | 113.25           | 109.24            | 1.0367081655071404        
| FreshCheatcodes.test_freshSymbolicWord()                                   | 39.29            | 37.84             | 1.0383192389006342        
| AddrTest.test_notBuiltinAddress_concrete()                                 | 25.93            | 24.97             | 1.038446135362435         
| MockCallTestFoundry.testMockNested()                                       | 303.78           | 292.53            | 1.0384575940929135        
| MockCallTest.testSelectorMockCall()                                        | 52.79            | 50.81             | 1.0389687069474511        
| AssertTest.checkFail_assert_false()                                        | 32.48            | 31.22             | 1.0403587443946187        
| ConstructorTest.run_constructor()                                          | 67.85            | 65.17             | 1.0411232162037747        
| AccountParamsTest.test_Nonce_NonExistentAddress()                          | 48.61            | 46.68             | 1.0413453299057411        
| AssumeTest.test_assume_false(uint256,uint256)                              | 76.16            | 73.1              | 1.041860465116279         
| StoreTest.testLoadNonExistent()                                            | 34.83            | 33.34             | 1.0446910617876424        
| FeeTest.test_fee_setup()                                                   | 59.99            | 57.42             | 1.044757924068269         
| StoreTest.testGasStoreColdVM()                                             | 35.44            | 33.92             | 1.044811320754717         
| AddrTest.test_addr_true()-trace_options1                                   | 30.58            | 29.25             | 1.0454700854700854        
| AssumeTest.testFail_assume_true(uint256,uint256)                           | 63.28            | 60.25             | 1.0502904564315352        
| src/tests/integration/test_foundry_prove.py::test_foundry_auto_abstraction | 44.41            | 42.15             | 1.05361803084223          
| GasTest.testSetGas()                                                       | 33.17            | 31.47             | 1.0540197013028283        
| StoreTest.testStoreLoadNonExistent()                                       | 45.17            | 42.84             | 1.0543884220354809        
| HevmTests.prove_revert                                                     | 17.83            | 16.91             | 1.0544056771141335        
| BlockParamsTest.testFee(uint256)                                           | 39.84            | 37.75             | 1.0553642384105961        
| AddrTest.test_builtInAddresses()                                           | 25.68            | 24.29             | 1.0572251955537257        
| MockCallTestFoundry.testMockSelector()                                     | 112.35           | 106.01            | 1.0598056787095556        
| MockCallTestFoundry.testMockCallEmptyAccount()                             | 84.33            | 79.44             | 1.0615558912386707        
| AssertTest.testFail_expect_revert()                                        | 95.02            | 89.22             | 1.06500784577449          
| SymbolicStorageTest.testEmptyInitialStorage(uint256)                       | 36.73            | 34.24             | 1.0727219626168223        
| SymbolicStorageTest.testFail_SymbolicStorage1(uint256)                     | 130.25           | 121.0             | 1.0764462809917354        
| MockCallTestFoundry.testMockGetters()                                      | 200.83           | 186.52            | 1.0767209950675531        
| MockCallTestFoundry.testRevertMock()                                       | 71.8             | 66.31             | 1.0827929422409892        
| PrankTestMsgSender.test_msgsender_setup()                                  | 109.29           | 100.61            | 1.0862737302455026        
| SetUpDeployTest.test_extcodesize()                                         | 71.33            | 65.25             | 1.0931800766283524        
| BlockParamsTest.testBlockNumber()                                          | 25.67            | 23.46             | 1.0942028985507246        
| StoreTest.testGasStoreWarmUp()                                             | 71.79            | 65.29             | 1.0995558278449993        
| PrankTestOrigin.test_origin_setup()                                        | 109.32           | 99.16             | 1.1024606696248487        
| PlainPrankTest.test_prank_expectRevert()                                   | 92.33            | 83.41             | 1.1069416137153818        
| ExpectCallTest.testExpectRegularCall()                                     | 83.18            | 74.77             | 1.1124782666844992        
| StartPrankTestMsgSender.test_startprank_msgsender_setup()                  | 112.44           | 101.05            | 1.1127164769915883        
| ExpectCallTest.testExpectStaticCall()                                      | 79.92            | 71.19             | 1.122629582806574         
| StartPrankTestOrigin.test_startprank_origin_setup()                        | 115.08           | 102.02            | 1.1280141148794354        
| StoreTest.testStoreLoad()                                                  | 59.65            | 52.54             | 1.1353254663113819        
| StoreTest.testGasLoadWarmUp()                                              | 72.41            | 63.61             | 1.1383430278258135        
| ExpectRevertTest.testFail_expectRevert_false()                             | 102.24           | 89.05             | 1.148119034250421         
| ExpectRevertTest.testFail_ExpectRevert_failAndSuccess()                    | 100.94           | 86.98             | 1.160496665900207         
| ExpectRevertTest.testFail_expectRevert_bytes4()                            | 103.69           | 89.19             | 1.162574279627761         
| LoopsTest.test_sum_10()                                                    | 74.3             | 63.65             | 1.1673212882953652        
| AllowChangesTest.testFailAllowChangesToStorage()                           | 117.66           | 100.7             | 1.1684210526315788        
| EmitContractTest.testExpectEmitLessTopics()                                | 87.01            | 74.46             | 1.168546870803116         
| PlainPrankTest.test_startPrank_true()                                      | 144.96           | 123.89            | 1.1700702235854388        
| ExpectRevertTest.test_expectRevert_bytes4()                                | 98.6             | 84.21             | 1.1708823180144876        
| EmitContractTest.testExpectEmitCheckEmitter()                              | 88.83            | 75.72             | 1.1731378763866878        
| ExpectRevertTest.test_expectRevert_returnValue()                           | 161.31           | 137.5             | 1.1731636363636364        
| PlainPrankTest.test_startPrank_zeroAddress_true()                          | 148.63           | 126.47            | 1.1752194196252075        
| CounterTest.testSetNumber(uint256)                                         | 173.08           | 146.97            | 1.1776553038034974        
| ExpectRevertTest.test_expectRevert_true()                                  | 97.69            | 82.66             | 1.1818291797725624        
| EmitContractTest.testExpectEmit()                                          | 87.82            | 74.25             | 1.1827609427609427        
| PlainPrankTest.test_prank_zeroAddress_true()                               | 178.85           | 150.9             | 1.185222001325381         
| ExpectRevertTest.test_ExpectRevert_increasedDepth()                        | 158.26           | 133.49            | 1.1855569705595923        
| PlainPrankTest.test_startPrankWithOrigin_true()                            | 148.67           | 125.27            | 1.1867965195178414        
| EmitContractTest.testExpectEmitDoNotCheckData()                            | 88.49            | 74.5              | 1.1877852348993287        
| ExpectRevertTest.test_expectRevert_message()                               | 102.58           | 86.35             | 1.1879559930515344        
| AllowChangesTest.testAllow()                                               | 117.75           | 98.99             | 1.189514092332559         
| AllowChangesTest.testFailAllowCallsToAddress()                             | 118.79           | 99.53             | 1.1935094946247362        
| ExpectRevertTest.testFail_expectRevert_multipleReverts()                   | 144.22           | 118.76            | 1.2143819467834287        
| MockCallTestFoundry.testMockCalldata()                                     | 236.41           | 192.92            | 1.2254302301472113        
| CounterTest.testIncrement()                                                | 163.59           | 133.45            | 1.2258523791682279        
| TOTAL                                                                      | 6080.23          | 5407.26           | 1,124456749               

@anvacaru
Copy link
Contributor Author

anvacaru commented Jun 3, 2024

Integration tests without break on calls

| Test                                                                        | pyjumpdests time | master time       | (pyjumpdests/master) time 
|-----------------------------------------------------------------------------|------------------|-------------------|---------------------------
| src/tests/integration/test_foundry_prove.py::test_foundry_xml_report        | 26.71            | 85.48             | 0.31247075339260644       
| StoreTest.testLoadNonExistent()                                             | 18.51            | 20.47             | 0.9042501221299464        
| BytesTypeTest.test_bytes32(bytes32)                                         | 15.99            | 17.06             | 0.9372801875732709        
| SymbolicStorageTest.testEmptyInitialStorage(uint256)                        | 19.64            | 20.53             | 0.956648806624452         
| BlockParamsTest.testFee(uint256)                                            | 22.58            | 23.6              | 0.956779661016949         
| src/tests/integration/test_foundry_prove.py::test_foundry_merge_nodes       | 42.93            | 41.47             | 1.0352061731372078        
| CoinBaseTest.test_coinbase_setup()                                          | 37.62            | 36.28             | 1.0369349503858873        
| ConstructorTest.test_constructor()                                          | 112.9            | 108.04            | 1.0449833395038874        
| HevmTests.prove_revert                                                      | 18.15            | 17.31             | 1.048526863084922         
| HevmTests.proveFail_require_assert                                          | 43.13            | 40.85             | 1.0558139534883721        
| src/tests/integration/test_foundry_prove.py::test_foundry_remove_node       | 43.07            | 40.58             | 1.0613602759980287        
| HevmTests.prove_require_assert_true                                         | 43.78            | 41.23             | 1.0618481688091197        
| FreshCheatcodes.test_address()                                              | 37.26            | 35.04             | 1.0633561643835616        
| AccountParamsTest.test_getNonce_unknownSymbolic(address)                    | 54.26            | 51.0              | 1.063921568627451         
| ArithmeticTest.test_max1(uint256,uint256)                                   | 49.63            | 46.64             | 1.0641080617495713        
| ConstructorTest.run_constructor()                                           | 48.96            | 45.99             | 1.0645792563600782        
| BlockParamsTest.testBlockNumber()                                           | 17.71            | 16.62             | 1.065583634175692         
| HevmTests.proveFail_all_branches                                            | 52.34            | 49.08             | 1.0664221678891606        
| BlockParamsTest.testChainId(uint256)                                        | 24.94            | 23.37             | 1.0671801454856653        
| StructTypeTest.test_vars((uint8,uint32,bytes32))                            | 30.39            | 28.43             | 1.0689412592332044        
| FreshCheatcodes.test_bool()                                                 | 24.1             | 22.54             | 1.0692102928127774        
| AccountParamsTest.test_Nonce_ExistentAddress()                              | 27.1             | 25.33             | 1.0698776154757206        
| AssertTest.test_assert_true()                                               | 40.38            | 37.63             | 1.0730799893701835        
| SetUpTest.testSetupData()                                                   | 42.34            | 39.35             | 1.075984752223634         
| UintTypeTest.test_uint256(uint256)                                          | 23.93            | 22.22             | 1.076957695769577         
| AccountParamsTest.testDealSymbolic(uint256)                                 | 29.52            | 27.38             | 1.0781592403214024        
| AccountParamsTest.testNonceSymbolic(uint64)                                 | 55.99            | 51.93             | 1.0781821683034856        
| ConstructorTest.testFail_constructor()                                      | 57.16            | 52.99             | 1.0786940932251368        
| AssumeTest.test_assume_false(uint256,uint256)                               | 80.41            | 74.47             | 1.0797636632200887        
| AccountParamsTest.test_Nonce_NonExistentAddress()                           | 28.11            | 26.02             | 1.0803228285933897        
| Setup2Test.testFail_setup()                                                 | 45.76            | 42.27             | 1.0825644665247218        
| GasTest.testSetGas()                                                        | 18.53            | 17.08             | 1.0848946135831383        
| HevmTests.prove_require_assert_false                                        | 51.65            | 47.6              | 1.0850840336134453        
| PlainPrankTest.test_stopPrank_notExistent()                                 | 23.11            | 21.28             | 1.0859962406015036        
| AssumeTest.test_multi_assume(address,address)                               | 53.68            | 49.39             | 1.086859688195991         
| AssertTest.test_assert_false()                                              | 73.81            | 67.89             | 1.0871998821623214        
| FeeTest.test_fee_setup()                                                    | 39.72            | 36.53             | 1.0873254859019983        
| ExpectRevertTest.testFail_expectRevert_empty()                              | 21.23            | 19.49             | 1.0892765520779888        
| RollTest.test_roll_setup()                                                  | 39.1             | 35.89             | 1.0894399554193368        
| StoreTest.testGasLoadColdVM()                                               | 22.51            | 20.65             | 1.0900726392251818        
| AddrTest.test_addr_true()-trace_options1                                    | 32.57            | 29.83             | 1.0918538384177003        
| AddrTest.test_notBuiltinAddress_concrete()                                  | 19.25            | 17.63             | 1.0918888258650028        
| AddrTest.test_notBuiltinAddress_symbolic(address)                           | 40.1             | 36.69             | 1.0929408558190243        
| AddrTest.test_builtInAddresses()                                            | 19.1             | 17.47             | 1.093302804808243         
| AccountParamsTest.test_GetNonce_true()                                      | 24.4             | 22.28             | 1.0951526032315977        
| src/tests/integration/test_foundry_prove.py::test_foundry_auto_abstraction  | 45.0             | 41.09             | 1.0951569724993915        
| BlockParamsTest.testRoll(uint256)                                           | 24.22            | 22.11             | 1.0954319312528267        
| FreshCheatcodes.test_int128()                                               | 24.91            | 22.72             | 1.0963908450704225        
| FreshBytesTest.test_symbolic_bytes_3                                        | 117.5            | 107.15            | 1.0965935604293047        
| FreshBytesTest.test_symbolic_bytes_1                                        | 158.68           | 144.66            | 1.0969169086133002        
| Setup2Test.test_setup()                                                     | 22.18            | 20.22             | 1.0969337289812067        
| AssertTest.testFail_assert_true()                                           | 49.27            | 44.91             | 1.0970830549988868        
| AssertTest.test_revert_branch(uint256,uint256)                              | 87.91            | 80.09             | 1.0976401548258208        
| AssertTest.test_failing_branch(uint256)                                     | 90.4             | 82.34             | 1.0978868107845519        
| AssumeTest.testFail_assume_false(uint256,uint256)                           | 57.9             | 52.72             | 1.0982549317147192        
| AccountParamsTest.testDealConcrete()-trace_options0                         | 29.12            | 26.51             | 1.0984534138061108        
| AccountParamsTest.testFail_GetNonce_true()                                  | 35.23            | 32.05             | 1.099219968798752         
| AssumeTest.test_assume_staticCall(bool)                                     | 34.65            | 31.47             | 1.1010486177311725        
| src/tests/integration/test_foundry_prove.py::test_foundry_prove_skips_setup | 165.65           | 150.38            | 1.1015427583455248        
| FreshBytesTest.test_symbolic_bytes_length                                   | 66.9             | 60.6              | 1.103960396039604         
| AssertTest.test_assert_true_branch(uint256)                                 | 54.86            | 49.63             | 1.1053798105984283        
| AssumeTest.testFail_assume_true(uint256,uint256)                            | 38.93            | 35.21             | 1.1056518034649248        
| SymbolicStorageTest.testFail_SymbolicStorage1(uint256)                      | 75.89            | 68.56             | 1.1069136522753793        
| AccountParamsTest.testEtchConcrete()                                        | 81.56            | 73.59             | 1.1083027585269738        
| ArithmeticTest.test_max2(uint256,uint256)                                   | 48.64            | 43.77             | 1.111263422435458         
| LabelTest.testLabel()                                                       | 19.56            | 17.52             | 1.1164383561643836        
| StoreTest.testStoreLoadNonExistent()                                        | 21.59            | 19.31             | 1.118073537027447         
| BMCLoopsTest.test_countdown_concrete()                                      | 19.46            | 17.36             | 1.120967741935484         
| LoopsTest.test_sum_10()                                                     | 43.97            | 39.13             | 1.1236902632251469        
| AssertTest.prove_assert_true()                                              | 22.85            | 20.16             | 1.1334325396825398        
| BytesTypeTest.test_bytes4(bytes4)                                           | 22.5             | 19.85             | 1.1335012594458438        
| AssertTest.testFail_expect_revert()                                         | 100.64           | 88.43             | 1.1380753138075312        
| BlockParamsTest.testWarp(uint256)-trace_options2                            | 30.34            | 26.64             | 1.1388888888888888        
| FreshCheatcodes.test_freshSymbolicWord()                                    | 24.5             | 21.49             | 1.1400651465798046        
| SetUpDeployTest.test_extcodesize()                                          | 47.46            | 41.4              | 1.146376811594203         
| MockCallTest.testSelectorMockCall()                                         | 43.77            | 38.16             | 1.1470125786163523        
| BlockParamsTest.testCoinBase()                                              | 19.31            | 16.82             | 1.148038049940547         
| AssertTest.checkFail_assert_false()                                         | 23.38            | 19.87             | 1.1766482133870155        
| StoreTest.testGasLoadWarmUp()                                               | 28.54            | 23.48             | 1.215502555366269         
| MethodDisambiguateTest.test_method_call()                                   | 21.8             | 17.45             | 1.2492836676217767        
| StartPrankTestOrigin.test_startprank_origin_setup()                         | 57.75            | 45.89             | 1.2584441054696012        
| StartPrankTestMsgSender.test_startprank_msgsender_setup()                   | 57.76            | 45.76             | 1.2622377622377623        
| PrankTestOrigin.test_origin_setup()                                         | 56.98            | 44.87             | 1.2698907956318253        
| PrankTestMsgSender.test_msgsender_setup()                                   | 56.69            | 44.37             | 1.2776650890241155        
| ExpectCallTest.testExpectRegularCall()                                      | 37.88            | 29.48             | 1.2849389416553596        
| ExpectCallTest.testExpectStaticCall()                                       | 33.56            | 25.71             | 1.3053286658887593        
| StoreTest.testStoreLoad()                                                   | 27.63            | 21.11             | 1.3088583609663667        
| StoreTest.testGasStoreWarmUp()                                              | 29.47            | 22.03             | 1.3377212891511574        
| MockCallTestFoundry.testRevertMock()                                        | 57.25            | 42.55             | 1.345475910693302         
| PlainPrankTest.test_prank_expectRevert()                                    | 36.22            | 26.85             | 1.3489757914338918        
| ExpectRevertTest.test_expectRevert_message()                                | 45.74            | 33.37             | 1.3706922385376088        
| MockCallTestFoundry.testMockSelector()                                      | 66.43            | 48.39             | 1.3728042984087623        
| ExpectRevertTest.testFail_expectRevert_bytes4()                             | 47.78            | 34.45             | 1.3869375907111756        
| AllowChangesTest.testAllow()                                                | 51.34            | 36.87             | 1.3924599945755358        
| ExpectRevertTest.test_expectRevert_bytes4()                                 | 42.14            | 30.12             | 1.3990703851261619        
| AllowChangesTest.testFailAllowCallsToAddress()                              | 50.93            | 36.09             | 1.4111942366306454        
| AllowChangesTest.testFailAllowChangesToStorage()                            | 51.94            | 36.15             | 1.4367911479944675        
| ExpectRevertTest.testFail_expectRevert_false()                              | 45.43            | 30.81             | 1.474521259331386         
| ExpectRevertTest.testFail_ExpectRevert_failAndSuccess()                     | 44.67            | 30.21             | 1.4786494538232373        
| EmitContractTest.testExpectEmitDoNotCheckData()                             | 36.98            | 24.49             | 1.5100040832993058        
| PlainPrankTest.test_startPrank_true()                                       | 46.27            | 30.0              | 1.5423333333333333        
| ExpectRevertTest.test_expectRevert_returnValue()                            | 64.15            | 41.37             | 1.5506405607928453        
| EmitContractTest.testExpectEmit()                                           | 34.87            | 22.45             | 1.5532293986636971        
| ExpectRevertTest.test_expectRevert_true()                                   | 41.94            | 26.65             | 1.573733583489681         
| MockCallTestFoundry.testMockGetters()                                       | 94.64            | 60.04             | 1.5762824783477682        
| MockCallTestFoundry.testMockCalldata()                                      | 101.2            | 63.33             | 1.5979788409916311        
| CounterTest.testSetNumber(uint256)                                          | 60.88            | 37.73             | 1.613570103366022         
| EmitContractTest.testExpectEmitLessTopics()                                 | 37.13            | 22.8              | 1.6285087719298246        
| CounterTest.testIncrement()                                                 | 51.21            | 31.03             | 1.6503383822107638        
| PlainPrankTest.test_startPrank_zeroAddress_true()                           | 49.55            | 29.94             | 1.6549766199064795        
| EmitContractTest.testExpectEmitCheckEmitter()                               | 37.55            | 22.5              | 1.6688888888888889        
| ExpectRevertTest.testFail_expectRevert_multipleReverts()                    | 50.28            | 29.95             | 1.678797996661102         
| PlainPrankTest.test_startPrankWithOrigin_true()                             | 51.62            | 30.74             | 1.679245283018868         
| PlainPrankTest.test_prank_zeroAddress_true()                                | 52.92            | 30.91             | 1.7120672921384665        
| MockCallTestFoundry.testMockNested()                                        | 130.12           | 73.69             | 1.7657755462070839        
| ExpectRevertTest.test_ExpectRevert_increasedDepth()                         | 58.78            | 32.34             | 1.8175633889919602        
| TOTAL                                                                       | 5668.83          | 4799.209999999996 | 1.1812006559412913        

@anvacaru
Copy link
Contributor Author

anvacaru commented Jun 4, 2024

Closing this as I've integrated these changes in 2abe4ef.

@anvacaru anvacaru closed this Jun 4, 2024
rv-jenkins added a commit that referenced this pull request Jun 5, 2024
* deps/kevm_release: Set Version 1.0.581

* Set Version: 0.1.297

* Sync Poetry files: kevm-pyk version 1.0.581

* flake.{nix,lock}: update Nix derivations

* deps/kevm_release: Set Version 1.0.582

* Set Version: 0.1.298

* Sync Poetry files: kevm-pyk version 1.0.582

* deps/k_release: sync release file version 7.0.105

* flake.{nix,lock}: update Nix derivations

* deps/kevm_release: Set Version 1.0.583

* Sync Poetry files: kevm-pyk version 1.0.583

* deps/k_release: sync release file version 7.0.106

* flake.{nix,lock}: update Nix derivations

* deps/kevm_release: Set Version 1.0.585

* Set Version: 0.1.299

* Sync Poetry files: kevm-pyk version 1.0.585

* flake.{nix,lock}: update Nix derivations

* deps/kevm_release: Set Version 1.0.586

* Sync Poetry files: kevm-pyk version 1.0.586

* flake.{nix,lock}: update Nix derivations

* deps/kevm_release: Set Version 1.0.587

* Sync Poetry files: kevm-pyk version 1.0.587

* flake.{nix,lock}: update Nix derivations

* from #594: compute jumpdests using the Python custom_step

* update expected output

* from #573: add integration test for symbolic constructor

* test_foundry_prove.py: update label in unit test

* Sync Poetry files: kevm-pyk version 1.0.587

* deps/kevm_release: Set Version 1.0.588

* Sync Poetry files: kevm-pyk version 1.0.588

* deps/k_release: sync release file version 7.0.111

* flake.{nix,lock}: update Nix derivations

* Update kompile expected output

* Set Version: 0.1.300

* Fix local reordering issue in kompile output update

* -m test_identity: update cse expected output

---------

Co-authored-by: devops <devops@runtimeverification.com>
Co-authored-by: Andrei <16517508+anvacaru@users.noreply.github.com>
Co-authored-by: palinatolmach <polina.tolmach@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants