Skip to content

Commit 02567fd

Browse files
authored
Merge pull request #13010 from ethereum/reenable-ext-test-presets-failing-due-to-stack-too-deep
Re-enable the optimized IR preset in all external tests
2 parents 2cb29db + 3f4d9cb commit 02567fd

File tree

3 files changed

+14
-3
lines changed

3 files changed

+14
-3
lines changed

test/externalTests/euler.sh

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ function euler_test
4949
"${compile_only_presets[@]}"
5050
#ir-no-optimize # Compilation fails with "YulException: Variable var_utilisation_307 is 6 slot(s) too deep inside the stack."
5151
#ir-optimize-evm-only # Compilation fails with "YulException: Variable var_utilisation_307 is 6 slot(s) too deep inside the stack."
52-
#ir-optimize-evm+yul # Compilation fails with "YulException: Variable var_status_mpos is 3 too deep in the stack"
52+
ir-optimize-evm+yul
5353
legacy-optimize-evm-only
5454
legacy-optimize-evm+yul
5555
legacy-no-optimize
@@ -61,6 +61,11 @@ function euler_test
6161
setup_solc "$DIR" "$BINARY_TYPE" "$BINARY_PATH"
6262
download_project "$repo" "$ref_type" "$ref" "$DIR"
6363

64+
# Disable tests that won't pass on the ir presets due to Hardhat heuristics. Note that this also disables
65+
# them for other presets but that's fine - we want same code run for benchmarks to be comparable.
66+
# TODO: Remove this when https://github.com/NomicFoundation/hardhat/issues/2453 gets fixed.
67+
sed -i "/expectError: 'JUNK_UPGRADE_TEST_FAILURE'/d" test/moduleUpgrade.js
68+
6469
neutralize_package_lock
6570
neutralize_package_json_hooks
6671
force_hardhat_compiler_binary "$config_file" "$BINARY_TYPE" "$BINARY_PATH"

test/externalTests/perpetual-pools.sh

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ function perpetual_pools_test
4747
"${compile_only_presets[@]}"
4848
#ir-no-optimize # Compilation fails with "YulException: Variable var_amount_527 is 9 slot(s) too deep inside the stack."
4949
#ir-optimize-evm-only # Compilation fails with "YulException: Variable var_amount_527 is 9 slot(s) too deep inside the stack."
50-
#ir-optimize-evm+yul # Compilation fails with "YulException: Variable expr_mpos is 1 too deep in the stack"
50+
ir-optimize-evm+yul
5151
legacy-no-optimize
5252
legacy-optimize-evm-only
5353
legacy-optimize-evm+yul
@@ -59,6 +59,12 @@ function perpetual_pools_test
5959
setup_solc "$DIR" "$BINARY_TYPE" "$BINARY_PATH"
6060
download_project "$repo" "$ref_type" "$ref" "$DIR"
6161

62+
# Disable tests that won't pass on the ir presets due to Hardhat heuristics. Note that this also disables
63+
# them for other presets but that's fine - we want same code run for benchmarks to be comparable.
64+
# TODO: Remove this when Hardhat adjusts heuristics for IR (https://github.com/nomiclabs/hardhat/issues/2115).
65+
sed -i 's|\(it\)\(("Should not allow commits that are too large"\)|\1.skip\2|g' test/PoolCommitter/commit.spec.ts
66+
sed -i 's|\(it\)\(("Should not allow for too many commitments (that bring amount over a user'\''s balance)"\)|\1.skip\2|g' test/PoolCommitter/commit.spec.ts
67+
6268
neutralize_package_lock
6369
neutralize_package_json_hooks
6470
force_hardhat_compiler_binary "$config_file" "$BINARY_TYPE" "$BINARY_PATH"

test/externalTests/uniswap.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ function uniswap_test
4747
"${compile_only_presets[@]}"
4848
#ir-no-optimize # Compilation fails with: "YulException: Variable ret_0 is 1 slot(s) too deep inside the stack."
4949
#ir-optimize-evm-only # Compilation fails with: "YulException: Variable ret_0 is 1 slot(s) too deep inside the stack."
50-
#ir-optimize-evm+yul # Compilation fails with: "YulException: Variable var_slot0Start_mpos is 1 too deep in the stack"
50+
ir-optimize-evm+yul
5151
legacy-no-optimize
5252
legacy-optimize-evm-only
5353
legacy-optimize-evm+yul

0 commit comments

Comments
 (0)