Skip to content

Commit

Permalink
Merge branch 'arith-dev' into 1444-failing-tests-for-testmxprandomadv…
Browse files Browse the repository at this point in the history
…anced
  • Loading branch information
lorenzogentile404 authored Nov 29, 2024
2 parents 3a67df5 + b664260 commit 3089801
Show file tree
Hide file tree
Showing 8 changed files with 152 additions and 37 deletions.
13 changes: 11 additions & 2 deletions .github/workflows/gradle-ethereum-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,15 @@ jobs:
reference-tests/build/reports/tests/**/*
tmp/local/*
- name: Failure Notification
if: ${{ failure() || cancelled() }}
uses: slackapi/[email protected]
with:
webhook: ${{ secrets.SLACK_WEBHOOK_URL }}
webhook-type: webhook-trigger
payload: |
name: "Daily Reference Tests (Rust Corset)"
status: "${{ job.status }}"
ethereum-tests-go-corset:
runs-on: ubuntu-latest-128
Expand All @@ -73,7 +82,7 @@ jobs:
run: cd ./linea-constraints; make zkevm_for_reference_tests.bin -B; cd ..

- name: Generate General State Reference Tests
run: ./gradlew generateGeneralStateReferenceTests -Dorg.gradle.parallel=true -Dorg.gradle.caching=true
run: ./gradlew generateGeneralStateReferenceTests -Dorg.gradle.caching=true
env:
JAVA_OPTS: -Dorg.gradle.daemon=false
CORSET_FLAGS: fields,expand,expand,expand
Expand Down Expand Up @@ -101,5 +110,5 @@ jobs:
webhook: ${{ secrets.SLACK_WEBHOOK_URL }}
webhook-type: webhook-trigger
payload: |
name: "Daily Reference Tests"
name: "Daily Reference Tests (Go Corset)"
status: "${{ job.status }}"
1 change: 0 additions & 1 deletion .github/workflows/reference-blockchain-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,6 @@ jobs:
- name: Run reference blockchain tests
run: ./gradlew referenceBlockchainTests -x spotlessCheck
timeout-minutes: 180
continue-on-error: true
env:
REFERENCE_TESTS_PARALLELISM: 7
JAVA_OPTS: -Dorg.gradle.daemon=false
Expand Down
59 changes: 59 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,64 @@
# Changelog

## 0.8.0-rc6
* skip ref test that are deployment transaction to an already existing … (#1584)
* tmp: disbale MMIO constraints for the release (#1587)
* Update Linea Besu to 24.11-delivery39 (#1583)
* Call gas work (#1570)
* delete lt file if corset check passes (#1575)
* Refactoring to use test watcher for unit tests as well. (#1513)
* 1568 some last mmio issues second part (#1571)
* fix(mmuCall): extcodecopy of account under deployment
* fix: need to snapshot memory even if memorySpan empty
* update equals on wcpoperation due to Bytes32 equal method inconsistency. (#1573)
* update equals on wcpoperation due to Bytes32 equal method inconsistency.
* fix equals on EWord
* add test revert check order for speed up
* spotless
* Reenable TX Outcome Checks for Replay Tests (#1566)
* **(Block Capture)** This updates the block capture debugging facility. This allows one to generate captures from running tests locally. The updates simply improve the generated capture filenames.
* **(Replay Files)** This renames the replay test files so that they all indicate whether or not they are mainnet or sepolia blocks. This also renames those which represent a single block to avoid the hyphonated notation. For example, `123-123.json.gz` is renamed to `123.json.gz`
* **(Replay Outcomes)** This updates the record TX outcomes in the replay test files to correctly follow mainnet. This was done by playing the replays back through the ReplayExecutionEnvironment and the recording the outcomes using the BlockCapturer.
* **(Misc)** The `BesuPlugin` interface has changed slightly, with `BesuContext` being deprecated in favour of `ServiceManager`. This simply updates the various plugins used by the linea tracer to this new API. Most of the changes were straightforward.
* fix(mmuCall): extcodecopy of account under deployment (#1569)
* Fix/getaccount (#1493)
* revert due to performance regression (#1557)
* change error thrown when too many requests. (#1558)
* change error thrown when too many requests.
* Disable implicit parallel forks (#1554)
* IDENTITY size parameter fix (#1561)
* fix: partialCopyOfReturnDataForIdentity correction of 'size' parameter
* Unifying ranges (#1548)
* Enable slack failure notifications (#1556)
* HUB debugging continued --- CALL's (#1508)
* fix: remove non-determinism from tests (#1537)
* fix(MMU_BLAKE): add test + debug (#1519)
* Fix/revert ref tests (#1530)
* fix(txSkip): address collisions (#1510)
* fix: update docs files with errors (#1506)
* fix: incorrect generation of `Trace.java` files (#1524)
* Update reference tests to latest develop (#1529)
* Remove `CONSTRAINTS_SSH_KEY` from Github Actions (#1512)
* update linea-besu version (#1526)
* Disable Tx Outcome Checks (#1522)
* remove nbAdded and nbRemoved columns (#1505)
* fix: besu version
* `HUB` debugging continued (#1492)
* fix: constraints commit
* Mega "simple exceptions testing" issue (#1450)
* fix(modexp): add debuged failing ref test (#1500)
* debug memory replay tests (#1473)
* feat: update corset to `v9.7.17` (#1496)
* fix hub lineCounter when pop transaction (#1489)
* `HUB` debugging continued (#1481)
* filter tests with invalid transactions. (#1423)
* Support Variable Report Width for Corset (#1486)
* ras: newer constraints commit
* Remove redundant version declaration of dependencies (#1484)
* Update Linea Besu to 24.11-develop-eb7bb53 (#1480)



## 0.8.0-rc5
* fix: SHF_STAMP no longer converted to short ([#1408](https://github.com/Consensys/linea-tracer/pull/1408))
* Update Linea Besu to 24.11-delivery37 ([#1474](https://github.com/Consensys/linea-tracer/pull/1474))
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
releaseVersion=0.8.0-rc5
releaseVersion=0.8.0-rc6
besuVersion=24.11-delivery39
besuArtifactGroup=io.consensys.linea-besu
distributionIdentifier=linea-tracer
Expand Down
3 changes: 2 additions & 1 deletion gradle/lint.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,8 @@ spotless {
}
groovyGradle {
target '*.gradle'
greclipse('4.21').configFile(rootProject.file('gradle/formatter.properties'))
// Temporarily disabled as was reporting XZFormatException
// greclipse('4.21').configFile(rootProject.file('gradle/formatter.properties'))
endWithNewline()
}
// Below this line are currently only license header tasks
Expand Down
2 changes: 1 addition & 1 deletion linea-constraints
Submodule linea-constraints updated 1 files
+3 −1 Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ public class BlockchainReferenceTestTools {

private static final List<String> NETWORKS_TO_RUN = List.of("London");

private static final JsonTestParameters<?, ?> PARAMS =
public static final JsonTestParameters<?, ?> PARAMS =
JsonTestParameters.create(BlockchainReferenceTestCaseSpec.class)
.generator(
(testName, fullPath, spec, collector) -> {
Expand All @@ -80,33 +80,33 @@ public class BlockchainReferenceTestTools {
PARAMS.ignoreAll();
}
// ignore tests that are failing in Besu too
PARAMS.ignore("RevertInCreateInInitCreate2_d0g0v0_London[London]");
PARAMS.ignore("RevertInCreateInInit_d0g0v0_London[London]");
PARAMS.ignore("create2collisionStorage_d0g0v0_London[London]");
PARAMS.ignore("create2collisionStorage_d1g0v0_London[London]");
PARAMS.ignore("create2collisionStorage_d2g0v0_London[London]");
PARAMS.ignore("dynamicAccountOverwriteEmpty_d0g0v0_London[London]");
PARAMS.ignore("RevertInCreateInInitCreate2_d0g0v0_London\\[London\\]");
PARAMS.ignore("RevertInCreateInInit_d0g0v0_London\\[London\\]");
PARAMS.ignore("create2collisionStorage_d0g0v0_London\\[London\\]");
PARAMS.ignore("create2collisionStorage_d1g0v0_London\\[London\\]");
PARAMS.ignore("create2collisionStorage_d2g0v0_London\\[London\\]");
PARAMS.ignore("dynamicAccountOverwriteEmpty_d0g0v0_London\\[London\\]");

// ignore tests that are failing because there is an account with nonce 0 and
// non empty code which can't happen in Linea since we are post LONDON only.
PARAMS.ignore("InitCollision_d0g0v0_London[London]");
PARAMS.ignore("InitCollision_d1g0v0_London[London]");
PARAMS.ignore("InitCollision_d2g0v0_London[London]");
PARAMS.ignore("InitCollision_d3g0v0_London[London]");
PARAMS.ignore("RevertInCreateInInitCreate2_d0g0v0_London[London]");
PARAMS.ignore("RevertInCreateInInit_d0g0v0_London[London]");
PARAMS.ignore("InitCollision_d0g0v0_London\\[London\\]");
PARAMS.ignore("InitCollision_d1g0v0_London\\[London\\]");
PARAMS.ignore("InitCollision_d2g0v0_London\\[London\\]");
PARAMS.ignore("InitCollision_d3g0v0_London\\[London\\]");
PARAMS.ignore("RevertInCreateInInitCreate2_d0g0v0_London\\[London\\]");
PARAMS.ignore("RevertInCreateInInit_d0g0v0_London\\[London\\]");

// Arithmetization restriction: recipient address is a precompile.
PARAMS.ignore("modexpRandomInput_d0g0v0_London[London]");
PARAMS.ignore("modexpRandomInput_d0g1v0_London[London]");
PARAMS.ignore("modexpRandomInput_d1g0v0_London[London]");
PARAMS.ignore("modexpRandomInput_d1g1v0_London[London]");
PARAMS.ignore("modexpRandomInput_d2g0v0_London[London]");
PARAMS.ignore("modexpRandomInput_d2g1v0_London[London]");
PARAMS.ignore("randomStatetest642_d0g0v0_London[London]");
PARAMS.ignore("randomStatetest644_d0g0v0_London[London]");
PARAMS.ignore("randomStatetest645_d0g0v0_London[London]");
PARAMS.ignore("randomStatetest645_d0g0v1_London[London]");
PARAMS.ignore("modexpRandomInput_d0g0v0_London\\[London\\]");
PARAMS.ignore("modexpRandomInput_d0g1v0_London\\[London\\]");
PARAMS.ignore("modexpRandomInput_d1g0v0_London\\[London\\]");
PARAMS.ignore("modexpRandomInput_d1g1v0_London\\[London\\]");
PARAMS.ignore("modexpRandomInput_d2g0v0_London\\[London\\]");
PARAMS.ignore("modexpRandomInput_d2g1v0_London\\[London\\]");
PARAMS.ignore("randomStatetest642_d0g0v0_London\\[London\\]");
PARAMS.ignore("randomStatetest644_d0g0v0_London\\[London\\]");
PARAMS.ignore("randomStatetest645_d0g0v0_London\\[London\\]");
PARAMS.ignore("randomStatetest645_d0g0v1_London\\[London\\]");

// Consumes a huge amount of memory.
PARAMS.ignore("static_Call1MB1024Calldepth_d1g0v0_\\w+");
Expand All @@ -120,14 +120,25 @@ public class BlockchainReferenceTestTools {
PARAMS.ignore("randomStatetest94_\\w+");

// Balance is more than 128 bits
PARAMS.ignore("Call1024PreCalls_d0g0v0_London[London]");
PARAMS.ignore("Call1024PreCalls_d0g1v0_London[London]");
PARAMS.ignore("OverflowGasRequire_London[London]");
PARAMS.ignore("StrangeContractCreation_London[London]");
PARAMS.ignore("SuicideIssue_London[London]");
PARAMS.ignore("DelegateCallSpam_London[London]");
PARAMS.ignore("OverflowGasRequire2_d0g0v0_London[London]");
PARAMS.ignore("HighGasLimit_d0g0v0_London[London]");
PARAMS.ignore("Call1024PreCalls_d0g0v0_London\\[London\\]");
PARAMS.ignore("Call1024PreCalls_d0g1v0_London\\[London\\]");
PARAMS.ignore("OverflowGasRequire_London\\[London\\]");
PARAMS.ignore("StrangeContractCreation_London\\[London\\]");
PARAMS.ignore("SuicideIssue_London\\[London\\]");
PARAMS.ignore("DelegateCallSpam_London\\[London\\]");
PARAMS.ignore("OverflowGasRequire2_d0g0v0_London\\[London\\]");
PARAMS.ignore("HighGasLimit_d0g0v0_London\\[London\\]");

// Deployment transaction to an account with nonce / code
PARAMS.ignore("TransactionCollisionToEmptyButCode_d0g0v0_London\\[London\\]");
PARAMS.ignore("TransactionCollisionToEmptyButCode_d0g0v1_London\\[London\\]");
PARAMS.ignore("TransactionCollisionToEmptyButCode_d0g1v0_London\\[London\\]");
PARAMS.ignore("TransactionCollisionToEmptyButCode_d0g1v1_London\\[London\\]");
PARAMS.ignore("TransactionCollisionToEmptyButNonce_d0g0v0_London\\[London\\]");
PARAMS.ignore("TransactionCollisionToEmptyButNonce_d0g0v1_London\\[London\\]");
PARAMS.ignore("TransactionCollisionToEmptyButNonce_d0g1v0_London\\[London\\]");
PARAMS.ignore("TransactionCollisionToEmptyButNonce_d0g1v1_London\\[London\\]");
PARAMS.ignore("createJS_ExampleContract_d0g0v0_London\\[London\\]");

// Don't do time-consuming tests.
PARAMS.ignore("CALLBlake2f_MaxRounds.*");
Expand Down
36 changes: 36 additions & 0 deletions reference-tests/src/test/java/net/consensys/linea/FilterTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/*
* Copyright Consensys Software Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
* an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
* specific language governing permissions and limitations under the License.
*
* SPDX-License-Identifier: Apache-2.0
*/

package net.consensys.linea;

import static net.consensys.linea.BlockchainReferenceTestTools.PARAMS;

import java.util.Collection;
import java.util.List;

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

public class FilterTest {

@Test
void name() {
Collection<Object[]> tests =
PARAMS.generate(
"ethereum-tests/BlockchainTests/GeneralStateTests/stCreate2/RevertInCreateInInitCreate2.json");
List<Object[]> filtered = tests.stream().filter(t -> ((boolean) t[2]) == true).toList();
Assertions.assertEquals(0, filtered.size());
}
}

0 comments on commit 3089801

Please sign in to comment.