diff --git a/.github/workflows/gradle-ethereum-tests.yml b/.github/workflows/gradle-ethereum-tests.yml index 921048908..b6da8ec97 100644 --- a/.github/workflows/gradle-ethereum-tests.yml +++ b/.github/workflows/gradle-ethereum-tests.yml @@ -46,7 +46,6 @@ jobs: - name: Run General State Reference Tests run: ./gradlew referenceGeneralStateTests env: - REFERENCE_TESTS_PARALLELISM: 10 JAVA_OPTS: -Dorg.gradle.daemon=false CORSET_FLAGS: fields,expand,expand,expand @@ -101,7 +100,6 @@ jobs: - name: Run General State Reference Tests run: GOMEMLIMIT=196GiB ./gradlew referenceGeneralStateTests env: - REFERENCE_TESTS_PARALLELISM: 10 JAVA_OPTS: -Dorg.gradle.daemon=false CORSET_FLAGS: disable GOCORSET_FLAGS: -wd --ansi-escapes=false --report --air diff --git a/.github/workflows/reference-blockchain-tests.yml b/.github/workflows/reference-blockchain-tests.yml index 585b3e494..58f8148dc 100644 --- a/.github/workflows/reference-blockchain-tests.yml +++ b/.github/workflows/reference-blockchain-tests.yml @@ -75,7 +75,6 @@ jobs: timeout-minutes: 180 continue-on-error: true env: - REFERENCE_TESTS_PARALLELISM: 20 JAVA_OPTS: -Dorg.gradle.daemon=false CORSET_FLAGS: disable GOCORSET_FLAGS: -wd --ansi-escapes=false --report --air diff --git a/reference-tests/build.gradle b/reference-tests/build.gradle index dd1b3161f..4f090ff20 100644 --- a/reference-tests/build.gradle +++ b/reference-tests/build.gradle @@ -60,7 +60,7 @@ tasks.register('referenceBlockchainTests', Test) { boolean isCiServer = System.getenv().containsKey("CI") minHeapSize = isCiServer ? "8g" :"4g" - maxHeapSize = isCiServer ? "50g" : "8g" + maxHeapSize = isCiServer ? "32g" : "8g" useJUnitPlatform { includeTags("BlockchainReferenceTest") diff --git a/reference-tests/src/test/resources/templates/BlockchainReferenceTest.java.template b/reference-tests/src/test/resources/templates/BlockchainReferenceTest.java.template index eba277943..04742e728 100644 --- a/reference-tests/src/test/resources/templates/BlockchainReferenceTest.java.template +++ b/reference-tests/src/test/resources/templates/BlockchainReferenceTest.java.template @@ -18,6 +18,7 @@ package net.consensys.linea.generated.blockchain; import static net.consensys.linea.BlockchainReferenceTestTools.executeTest; import static net.consensys.linea.BlockchainReferenceTestTools.generateTestParametersForConfig; +import java.util.Collection; import java.util.concurrent.ExecutionException; import java.util.stream.Stream; @@ -49,15 +50,14 @@ public class %%TESTS_NAME%% { public static Stream getTestParametersForConfig() throws ExecutionException, InterruptedException { - if (FAILED_MODULE.isEmpty()) { - return generateTestParametersForConfig(TEST_CONFIG_FILE_DIR_PATH).stream().map(params -> - Arguments.of(params[0], params[1], params[2]) - ); - } else { - return generateTestParametersForConfig(TEST_CONFIG_FILE_DIR_PATH, FAILED_MODULE, FAILED_CONSTRAINT).stream().map(params -> - Arguments.of(params[0], params[1], params[2]) - ); +Collection testParameters = FAILED_MODULE.isEmpty() + ? generateTestParametersForConfig(TEST_CONFIG_FILE_DIR_PATH) + : generateTestParametersForConfig(TEST_CONFIG_FILE_DIR_PATH, FAILED_MODULE, FAILED_CONSTRAINT); + Collection filteredTestParameters = testParameters.stream().filter(params -> (Boolean) params[2]).toList(); + if (filteredTestParameters.isEmpty()) { + return Stream.of(Arguments.of("%%TESTS_NAME%%", null, false)); } + return filteredTestParameters.stream().map(params -> Arguments.of(params[0], params[1], params[2])); } @ParameterizedTest(name = "Name: {0}") diff --git a/reference-tests/src/test/resources/templates/GeneralStateReferenceTest.java.template b/reference-tests/src/test/resources/templates/GeneralStateReferenceTest.java.template index 81e136a3f..2d48d269c 100644 --- a/reference-tests/src/test/resources/templates/GeneralStateReferenceTest.java.template +++ b/reference-tests/src/test/resources/templates/GeneralStateReferenceTest.java.template @@ -19,6 +19,7 @@ import static net.consensys.linea.GeneralStateReferenceTestTools.executeTest; import static net.consensys.linea.GeneralStateReferenceTestTools.generateTestParametersForConfig; import static org.junit.jupiter.api.Assumptions.assumeTrue; +import java.util.Collection; import java.util.stream.Stream; import org.hyperledger.besu.ethereum.referencetests.GeneralStateTestCaseEipSpec; @@ -39,9 +40,13 @@ public class %%TESTS_NAME%% { private static final String[] TEST_CONFIG_FILE_DIR_PATH = new String[] {%%TESTS_FILE%%}; public static Stream getTestParametersForConfig() { - return generateTestParametersForConfig(TEST_CONFIG_FILE_DIR_PATH).stream().map(params -> - Arguments.of(params[0], params[1], params[2]) - ); + Collection testParameters = generateTestParametersForConfig(TEST_CONFIG_FILE_DIR_PATH) + .stream().filter(params -> (Boolean) params[2]).toList(); + if (testParameters.isEmpty()) { + return Stream.of(Arguments.of("%%TESTS_NAME%%", null, false)); + } else { + return testParameters.stream().map(params -> Arguments.of(params[0], params[1], params[2])); + } } @ParameterizedTest(name = "Name: {0}")