Commit Graph

6890 Commits

Author SHA1 Message Date
Marenz
9c4ea1dc68 lsp.py: Add missing check for non-interactive 2022-06-07 15:30:14 +02:00
a3d4
423f3d3088 Fix ICE caused by an immutable struct 2022-06-07 10:29:45 +02:00
nishant-sachdeva
61306a6f9d disabling more zeppline tests that expect reverts with specific errors and they're broken via IR due to Hardhat heuristics.
Updated zeppelin.sh

Added cautionary comment for two sed commands that depend on the order of occurrence of the patterns in the files.
L122, and L123 both are referencing the 3rd occurrence of the patterns from their respective files.
This could result in an error in the future when the code is further modified.
2022-06-06 19:15:40 +05:30
Marenz
6c9754a784 lsp.py: Fix various problems with subdirectory edge cases
* fix properly path parsing with nested subdirectories
* fix regex to be able to handle `file://..`
* fix not checking all expected diagnostics
* Some extra comments and renames
2022-05-31 16:17:35 +02:00
Matheus Aguiar
3904a0d5ce Revert workaround introduced in euler tests because it is no longer needed.
This reverts commit 98efb46031.
2022-05-31 09:00:00 -03:00
Kamil Śliwak
1543cfc904
Merge pull request #13067 from ethereum/disable-zeppelin-test-cases-failing-after-relaxing-inlining
Disable more zeppelin test cases in which Hardhat's heuristics break after relaxing inlining.
2022-05-25 23:04:05 +02:00
Matheus Aguiar
be12f90775 Disable zeppelin test cases in which Hardhat's heuristics break after relaxing inilining.
Also disabled one test because of hardhat issue 2115 (revert due to overflow misdetected).
2022-05-25 16:24:18 -03:00
Kamil Śliwak
c8612078c4 Remove the ethers.js 5.6.2 workaround from all ext tests except for gnosis and uniswap 2022-05-25 16:20:49 +02:00
Kamil Śliwak
6937799587 gnosis: Pin typescript dependency at <= 4.7.0 2022-05-25 15:52:21 +02:00
chriseth
a8dc762850
Merge pull request #12818 from ethereum/benchmark-downloader
Benchmark downloader (script + CI job)
2022-05-23 15:41:13 +02:00
Kamil Śliwak
9618cb947d download_benchmarks: Script for downloading benchmark results from CircleCI 2022-05-23 14:18:29 +02:00
chriseth
77038aa40e Update test expectations. 2022-05-23 13:37:50 +02:00
Kamil Śliwak
f08d349791 Separate some inlining tests into pre- and post-homestead 2022-05-23 13:37:50 +02:00
Kamil Śliwak
49d5c0a292 Disable external test cases where Hardhat's heuristics break after relaxing inlining 2022-05-23 13:37:36 +02:00
chriseth
f0e43921f7
Merge pull request #12921 from ethereum/add_event_and_error_selector_fields_on_the_line_of_function_selector_field
Adding event and error selector fields
2022-05-23 11:34:13 +02:00
chriseth
2bbc9a1445
Merge pull request #13040 from ethereum/returndatacopyOptimizer
Do not remove potentially reverting returndatacopy cases.
2022-05-23 11:32:26 +02:00
Matheus Aguiar
98efb46031 Patches issue https://github.com/euler-xyz/euler-contracts/issues/119.
After issue is resolved, this should be reverted/changed.
2022-05-23 11:26:50 +02:00
Daniel Kirchner
9fa907aac2 Do not remove potentially reverting returndatacopy cases. 2022-05-23 11:01:03 +02:00
chriseth
30335c13ff
Merge pull request #13001 from matheusaaguiar/develop
Don't add an empty data slot to ABI-encoded empty strings from storage
2022-05-23 10:56:30 +02:00
nishant-sachdeva
d4c06d2b4e Adding event and error selector fields on the lines of the function selector fields 2022-05-23 10:49:16 +02:00
Kamil Śliwak
3f4d9cb035 Disable more external tests failing due to Hardhat heuristics 2022-05-20 15:59:57 +02:00
Kamil Śliwak
54c5b3de68 Re-enable the optimized IR preset in all external tests 2022-05-20 14:50:57 +02:00
Daniel Kirchner
953bc9fed2
Merge pull request #12983 from ethereum/hint-via-ir
Recommend `via-ir` whenever a stack too deep error is encountered.
2022-05-20 12:26:25 +02:00
Daniel Kirchner
a2f768d29a Remove empty settings. 2022-05-19 20:23:28 +02:00
Daniel Kirchner
58d21f1e9d Remove // compileViaYul: also 2022-05-19 20:23:28 +02:00
Daniel Kirchner
788dc6b4c8 Remove canEnableViaYul logic and default to compiling also via yul. 2022-05-19 20:23:28 +02:00
Daniel Kirchner
e93ad30e43 Remove obsolete enforce-via-yul logic and CI run. 2022-05-19 20:23:28 +02:00
nishant-sachdeva
7ff4cab0b9 issue has already been fixed. Adding test cases for confirmation 2022-05-19 15:36:59 +05:30
Matheus Aguiar
33ea6a679d Fixed bug that added a superfluous empty slot for data when encoding an empty string coming from storage.
Added tests covering empty string, uninitialized string, emptry string literal, byte arrays and explicit call to `abi.encode`.
2022-05-18 14:50:26 -03:00
Marenz
0234e2aa6b lsp.py: Fix broken console reading 2022-05-18 14:54:19 +02:00
Marenz
ca3af4b2a2 LSP: Implement semantic tokens 2022-05-18 14:54:16 +02:00
Kamil Śliwak
1164d1b4dd Switch ENS external test to master branch 2022-05-17 13:02:12 +02:00
Kamil Śliwak
27e5afa23d Patch external tests for the override data alignment issue until our patches are accepted upstream 2022-05-17 13:02:12 +02:00
chriseth
dfa0bcf760 More strict override check for data locations. 2022-05-17 13:02:12 +02:00
Kamil Śliwak
adf3eaac9b gnosis: Update upstream repo URL 2022-05-17 10:57:21 +02:00
Kamil Śliwak
c57bc47060 gnosis: Disable newly added tests broken due to Hardhat heuristics 2022-05-17 10:57:21 +02:00
Kamil Śliwak
91177d74ee perpetual-pools: Remove the ethers@5.6.1 workaround 2022-05-16 20:52:53 +02:00
Kamil Śliwak
e9f1bd00cc gnosis: Workaround for problems caused by forcing ethers@5.6.1 in external tests 2022-05-16 20:52:30 +02:00
Kamil Śliwak
3bfb79df0c gnosis: Workaround for getStorageAt() bug in Hardhat 2.9.5 2022-05-13 19:05:21 +02:00
Daniel Kirchner
12ee9aed50
Merge pull request #13013 from ethereum/revert-disallow-returndatacopy-in-pure-functions
Revert "Disallow RETURNDATASIZE and RETURNDATACOPY in inline assembly blocks in pure functions"
2022-05-13 18:52:37 +02:00
Leo Alt
6a126f6ccb Update tests and hashes for z3 4.8.17 2022-05-13 15:25:10 +02:00
Matheus Aguiar
35661479b6 Revert "Disallow RETURNDATASIZE and RETURNDATACOPY in inline assembly blocks in pure functions"
This reverts commit f567eb1fb2.

Correcting Bugfixes section of Changelog.
2022-05-13 08:35:21 -03:00
Daniel Kirchner
aafda389ea
Merge pull request #12907 from ethereum/calldataReencodeValidationBug
Calldatasize-check during ABI encoding from calldata values with nested dynamic arrays.
2022-05-12 17:56:44 +02:00
Daniel Kirchner
352a3c5f4b Bug list entry, changelog entry and tests. 2022-05-12 13:08:30 +02:00
Leo Alt
cbaba6f913 update tests 2022-05-11 20:02:31 +02:00
Daniel Kirchner
d3a837b340 Bugfix. 2022-05-11 18:17:47 +02:00
Daniel Kirchner
d92ed3fd29 Test case for the buggy behaviour. 2022-05-11 18:17:47 +02:00
Daniel Kirchner
cbf9a4f1ed Add bogus return to switch. 2022-05-11 13:58:06 +02:00
Kamil Śliwak
0e0d1972f9 Disable non-deterministic counterexamples in some SMT tests
- The counterexamples sometimes do appear and the tests fail.
2022-05-10 12:48:01 +02:00
Marenz
893122eb89 lsp.py: Support subdirectories 2022-05-09 14:54:55 +02:00
Marenz
02dfeb5427 lsp.py: Trigger fatal error when importing outside of test dir 2022-05-09 14:22:23 +02:00
Christian Parpart
e8d07772d9 lsp.py: Port to support running on Windows & adapt to changes due to prior merged PR.
- lsp.py: Fixes invalid-syntax by Python interpreter on Windows CI (older Python version).
- lsp.py: Savely strip CRLF from right side of the string, ignoring accidental multiple occurrences of \r (such as \r\r\n).
- lsp.py: Fixes reading single character from stdin (wrt. Windows platform).
- lsp.py: Adds header line reading to I/O tracing (useful for debugging).
- lsp.py: When running the tests on Windows, don't care test file content's newlines but simply expect LFs (instead of CRLF for example).
- Apply pylint notes.
- Fixing use of @functools.lru_cache for older python versions (CircleCI Windows)
2022-05-09 11:37:11 +02:00
Christian Parpart
c2f245b40a Fixes to lsp.py with respect to Windows drive-letter paths in URI. 2022-05-09 11:37:11 +02:00
hrkrshnn
5ae17c8e65 Recommend via-ir whenever a stack too deep error is encountered. 2022-05-05 19:22:03 +02:00
Leo Alt
201c6c6819 fix smt flaky test 2022-05-05 11:38:16 +02:00
Leo Alt
cba3d18f66 adjust for osx nondeterminism 2022-05-04 19:04:54 +02:00
Leo Alt
4fd7de36f1 update smt tests z3 4.8.16 2022-05-03 14:23:27 +02:00
chriseth
df29ea72f0
Merge pull request #12836 from ethereum/fixUsingGlobal
Fix using global with libraries.
2022-05-02 12:41:34 +02:00
chriseth
505fa7763f Fix checks for "using for ... global" for libraries. 2022-05-02 12:40:56 +02:00
Alexey Shekhirin
cb24e5d545
fix(parser): error for unexpected token 2022-04-29 16:13:04 +04:00
chriseth
d55b84ff63
Merge pull request #12861 from ethereum/disallow-returndatacopy-in-pure-functions
Disallow RETURNDATACOPY and RETURNDATASIZE in inline assembly in pure functions
2022-04-28 13:15:04 +02:00
Christian Parpart
fbecdbe76d
Merge pull request #12798 from ethereum/lsp-tests-expectations
LSP.py: Implement expectations directly in the test files
2022-04-25 15:27:57 +02:00
Kamil Śliwak
8e085432bb External test for Brink 2022-04-13 13:43:48 +02:00
Kamil Śliwak
e30d0a6199 externalTests: Allow adding extra settings to presets 2022-04-13 13:43:48 +02:00
Marenz
afd9feead4 LSP.py: Implement simple send/respond framework 2022-04-13 13:22:05 +02:00
Leo Alt
f9fa76c9d3 smt encode call 2022-04-11 12:19:41 +02:00
Joshua Quinones
e1a59397c6 Renamed AssemblyStack to YulStack
All files, references, variables, comments, etc. were renamed to YulStack.
2022-04-08 20:28:55 +02:00
Kamil Śliwak
f567eb1fb2 Disallow RETURNDATASIZE and RETURNDATACOPY in inline assembly blocks in pure functions 2022-04-08 14:48:35 +02:00
Kamil Śliwak
fb7c969ce8 Tests for assembly instructions allowed with mutable/view/pure functions 2022-04-08 14:47:32 +02:00
Christian Parpart
e74f03056c
Merge pull request #12283 from ethereum/soltest-graceful-error-handling
Graceful error handling in soltest/isoltest + improved soltestAssert()
2022-04-07 13:12:43 +02:00
Daniel Kirchner
52f5ffd876
Merge pull request #12804 from ethereum/benchmark-differ
Benchmark differ
2022-04-07 09:24:01 +02:00
Kamil Śliwak
b3048ccf07 Use EXIT_FAILURE and EXIT_SUCCESS constants in exit() and when returning from main() 2022-04-06 22:27:08 +02:00
Kamil Śliwak
7c83559881 soltest: Handle CLI validation errors gracefully 2022-04-06 22:26:21 +02:00
Kamil Śliwak
cf6704ae06 isoltest: Do not return an error code from --help 2022-04-06 22:26:21 +02:00
Kamil Śliwak
7bace8d25d soltest: Don't assume that parse() can never return false 2022-04-06 22:26:21 +02:00
Kamil Śliwak
ed8403f456 isoltest: Handle parsing errors differently from unexpected exceptions 2022-04-06 22:26:21 +02:00
Kamil Śliwak
0bb885dab2 Bring soltestAssert() up to date with solAssert()
- Allow omitting description.
- Provide a default description.
- Use a custom exception type derived from util::Exception rather than std::exception.
2022-04-06 22:26:10 +02:00
Daniel Kirchner
c71d0aec83
Merge pull request #12898 from ethereum/via-ir-equivalence-tests
Create split_on_empty_lines_into_numbered_files function in scripts/common.sh
2022-04-06 13:16:24 +02:00
wechman
4d8a34370e Create split_on_empty_lines_into_numbered_files function in scripts/common.sh 2022-04-06 07:26:18 +02:00
Ryan
3a17274691 Improve error message for static array with size too large 2022-04-05 17:36:37 +02:00
Kamil Śliwak
8c9856c52c benchmark_diff: Add table mode with support for json, console and markdown output 2022-04-05 15:43:18 +02:00
Kamil Śliwak
ee5e878ad7 benchmark_diff: A Python script for diffing summarized benchmarks from external tests 2022-04-05 15:40:28 +02:00
Damian Wechman
d0bd365d2c
Merge pull request #12179 from akali/pretty-json
Set handlers use unified jsonPrint with prettifier if needed
2022-04-05 07:05:53 +02:00
Daniel Kirchner
fd763fa6ad
Merge pull request #12851 from ethereum/via-ir-equivalence-tests
Tests for the equivalence of one and two-stage compilation via IR ports multi-file contracts
2022-04-04 20:19:27 +02:00
Aisultan Kali
96376264e8 Set handlers use unified jsonPrint with prettifier if needed 2022-04-04 20:17:11 +02:00
Kamil Śliwak
1bc1f8bdbb
Merge pull request #12835 from dtedesco1/develop
Fix MultiSigWallet.sol order of functions
2022-04-04 17:37:28 +02:00
Kamil Śliwak
c06308146a
Merge pull request #12828 from ethereum/errorForUnary
Use error message for unary operators.
2022-04-04 17:13:28 +02:00
dtedesco1
2fabb3db8f attempt rebase, fix free function, fix check errors 2022-04-04 22:49:12 +08:00
Kamil Śliwak
c7222044a2 externalTests.sh: Fix broken ${} syntax in the script 2022-04-04 14:16:42 +02:00
chriseth
755e043a6d Use error message for unary operators. 2022-04-04 16:53:36 +05:30
wechman
1e7688e8a1 Tests for the equivalence of one and two-stage compilation via IR supports multi-file contracts 2022-04-04 11:09:43 +02:00
Kamil Śliwak
73443c0ada elementfi: Switch all presets to compile-only 2022-04-01 23:06:21 +02:00
Kamil Śliwak
5ef0048d85 zeppelin: Disable the newly added Polygon-Child test, failing via IR due to Hardhat heuristics 2022-04-01 23:06:21 +02:00
Kamil Śliwak
b445e7e74c Revert "perpetual-pools: Use Hardhat 2.8.4 to work around @openzeppelin/hardhat-upgrades's problem with parallel compilation on Hardhat 2.9.0"
This reverts commit 30008465bf.
2022-03-28 19:51:46 +02:00
Kamil Śliwak
34c06c27a5 Downgrade ethers.js to 5.6.1 in ens, gnosis, euler, perpetual-pools and uniswap external tests 2022-03-28 17:56:30 +02:00
nishant-sachdeva
4c6066bfad typeCheckAbiEncodeCallFunction should type check the arguments on functionPointerType->asExternallyCallableFunction instead of teh plain function type 2022-03-24 18:53:46 +05:30
Alexander Arlt
1a0988e503 libevmasm: refactor asm-json export & add support for source list. 2022-03-23 15:58:07 -05:00
Christian Parpart
13a4c79a9b lsp.py: Adds --fail-fast (-f) to terminate early on first failure. 2022-03-23 17:34:04 +01:00
Marenz
0bf674b442 LSP test: Minor refactoring and better exception reporting 2022-03-21 13:23:02 +01:00
chriseth
430ecb6e16
Merge pull request #12795 from ethereum/morePopRemovalInPeepholeOptimizer
More pop removal in peephole optimizer.
2022-03-17 12:22:48 +01:00