Commit Graph

6614 Commits

Author SHA1 Message Date
Bhargava Shastry
b8ad2b2718 Yul interpreter: Add flag to disable memory tracing and dump for fuzzing.
Model revert in yul interpreter.
Add logTrace for a few more instructions and clear trace on revert.
2022-01-04 11:56:27 +01:00
hrkrshnn
85d1a57e65 Added more tests. Updated chromosome. Remove unused headers. 2022-01-04 13:27:39 +05:30
Bhargava Shastry
259a98b82c Impose stricter upper bound on memory accesses in order to prevent overflow/wrap around. 2022-01-03 18:22:42 +01:00
chriseth
e7fc2a176a Test updates. 2022-01-03 15:52:05 +01:00
chriseth
772e100813 Equal store eliminator. 2022-01-03 15:52:05 +01:00
chriseth
2a7f26e2c0 Test batcher. 2021-12-30 15:02:05 +01:00
nishant-sachdeva
bd819c87fa added warning if isoltest gas-cost-expectations are not enforced 2021-12-30 18:51:55 +05:30
chriseth
692614df72
Merge pull request #12437 from ethereum/encodeCallForDeclarations
abi.encodeCall for declarations.
2021-12-29 18:40:18 +01:00
chriseth
4c838d9cf5 abi.encodeCall for declarations. 2021-12-29 12:26:04 +01:00
Leo Alt
fb8c138b8b Do not analyze unecessary contracts 2021-12-24 19:36:32 +01:00
Kamil Śliwak
7e91dba663 Switch ens external test to ens-contracts repo 2021-12-22 14:45:51 +01:00
chriseth
0769e4df5d
Merge pull request #12445 from ethereum/pylint-enable-more-warnings
[pylint] Enable more warnings
2021-12-21 18:20:52 +01:00
Kamil Śliwak
8cfecb45cc Fix ESLint warnings/errors in external test JS 2021-12-21 16:18:46 +01:00
Kamil Śliwak
5b10ff1216 pylint: Enable and fix singleton-comparison warnings 2021-12-21 15:30:11 +01:00
Kamil Śliwak
784ae91b41 pylint: Enable and fix no-self-use warnings 2021-12-21 15:30:11 +01:00
Kamil Śliwak
449f56c15b pylint: Enable and fix consider-using-sys-exit warnings 2021-12-21 15:30:11 +01:00
chriseth
a4b2fc9cb7
Merge pull request #12361 from mejsiej/improved-err-msg-when-getter-returns-nothing
Changed the message of the error thrown when the structure has all it's members omitted
2021-12-20 21:06:14 +01:00
Kamil Śliwak
1124e28628 externalTests: With COMPILE_ONLY=1 still do compilation on all levels if only JS tests fail 2021-12-20 19:14:37 +01:00
mejsiej
ddd9a84141 Improve failure message when generating getter. 2021-12-20 18:16:27 +01:00
chriseth
8da9239c83
Merge pull request #12396 from ethereum/ext-tests-via-ir
External tests via IR
2021-12-20 18:13:02 +01:00
Christian Parpart
b8e64a4883 Fixes CI build error for ArchLinux. 2021-12-20 13:11:00 +01:00
chriseth
3193dfbb5d
Merge pull request #11350 from ethereum/lsp
Language Server
2021-12-16 18:54:26 +01:00
chriseth
1594518cfc
Merge pull request #12417 from nishant-sachdeva/invalid_ir_generated_during_copy_of_dynamically_sized_storage_arrays_of_function_type
Added sameType check for fromType and toType in YulUtilFunctions.cpp and relevant tests in semanticTests
2021-12-16 18:33:54 +01:00
chriseth
835efea427
Merge pull request #12287 from ethereum/abi.encodeCall
Implement typechecked abi.encodeCall()
2021-12-16 18:24:33 +01:00
Christian Parpart
927b24df1f Initial implementation of Language Server 2021-12-16 17:52:49 +01:00
Marenz
7a96953e78 Implement typechecked abi.encodeCall() 2021-12-16 17:35:58 +01:00
nishant-sachdeva
7cc7a0f183 Added sameType check for fromType and toType in YulUtilFunctions.cpp and relevant tests in semanticTests 2021-12-16 21:51:09 +05:30
nishant-sachdeva
19a74506e3 trial test cases extracted from SoliidityEndToEndTest.cpp into .sol files.
removed libevmone.so files from the directory

trial test cases extracted from SoliidityEndToEndTest.cpp into .sol files. Corresponding code in the .cpp file has been commented instead of begin removed pending preliminary reviews

removed libevmone files

Added testcase packed_storage_structs_delete

added test case invalid_enum_logged

added test case enum_referencing

added test case memory_types_initialisation

added test case return string

added test case constant_string_literal.sol

removed extractable keyword from solidityEndtoEnd.cpp, moved copying_bytes_multiassigned.sol to array/copying folder, added recv() function to copying_bytes_multiassigned.sol but this test case is failing now

change typo error in the name of test case library_staticcall_delegatecal.sol to library_staticcall_delegatecall.sol

Added compileToEwasm:false to call_forward_bytes.sol test case and moved it to semanticTests/fallback

added compileToEwasm:false line to library_call_in_homestead

added compileToEwasm: false line to copying_bytes_multiassign, copy_from_calldata_removes_bytes, enum_referencing, library_call_in_homestead, struct_referencing

Added test case internal_types_in_library

Added test case mapping_arguments_in_library

Added test case mapping_returns_in_library

Added test case mapping_returns_in_library_named

Added test case using_library_mappings_public

Added test case library_function_external

Added test case library_stray_values

added test case using_library_mappings_return

added test case using_library_structs

Added test case using_for_function_on_struct and corrections to using_library_structs, using_library_mpapings_return, library_stray_values

Added test case using_for_overload

added test case using_for_by_name

added test case bound_function_in_function

added test case bound_function_in_var

added test case bound_function_to_string

added test case payable_function_calls_library

added function call corrections to copying_bytes_multiassign and call_forward_bytes

Made changes to the test cases as per comments on PR #12289

mentioned in Changelog.md : Extraced some test cases from SolEndToEnd.cpp
2021-12-16 16:56:38 +05:30
nishant-sachdeva
9b55d4788e Added sameType check for fromType and toType in YulUtilFunctions.cpp and relevant tests in semanticTests 2021-12-15 23:50:25 +05:30
Kamil Śliwak
3ec05d02b5 externalTests: Add extra viaIR runs 2021-12-14 13:19:54 +01:00
Kamil Śliwak
d304c84432 externalTests: Replace optimizer levels with named presets 2021-12-14 13:19:53 +01:00
Kamil Śliwak
adfa51c01c externalTests: Measure compilation time 2021-12-14 13:19:21 +01:00
Leo Alt
316be7206f Fix soundness of storage/memory pointers that were not erasing enough knowledge 2021-12-14 12:02:18 +01:00
chriseth
248bc387cd
Merge pull request #12393 from ethereum/dont-compile-twice-in-colony-ext-test
Avoid double compilation in Colony external test
2021-12-13 18:51:21 +01:00
chriseth
0e6388a907 Clarify FileReader interface. 2021-12-13 14:54:58 +01:00
chriseth
9131475b7c
Merge pull request #12394 from ethereum/make-optimizer-level-2-effective-again-in-ext-tests
Make optimizer level 2 in external tests actually different from level 3
2021-12-13 13:02:00 +01:00
Kamil Śliwak
6afb63200c externalTests: Use yarn install instead of yarn in colony ext test to avoid compiling contracts twice 2021-12-13 11:46:13 +01:00
Kamil Śliwak
eb8e304b47 externalTests: Add support for using a native binary 2021-12-10 17:43:57 +01:00
Kamil Śliwak
68ff073b3b externalTests.sh: Remove outdated commented-out command to run gnosis
- A newer command is already enabled above it
2021-12-10 17:40:54 +01:00
Kamil Śliwak
081b80ccb2 externalTests: Refactor setup and input verification 2021-12-10 17:40:54 +01:00
Kamil Śliwak
0edbd90f52 externalTests: Use fail() function to simplify error checks 2021-12-10 17:40:54 +01:00
Kamil Śliwak
5fb0246f1c Use the right config file name in ENS external test 2021-12-10 17:02:35 +01:00
Kamil Śliwak
937597c1cd Use unique name for gnosis-v2 ext test 2021-12-10 15:40:46 +01:00
Kamil Śliwak
8ada7db7e9 externalTests: Fix optimizer level 2 to make it actually run without Yul optimizer 2021-12-10 15:40:46 +01:00
chriseth
4e0f334107
Merge pull request #12275 from nishant-sachdeva/calldata-struct-arugment-with-internal-type-inside
Calldata struct array arugment with internal type inside
2021-12-06 16:55:56 +01:00
chriseth
9e9225eb60
Merge pull request #11800 from spiyer99/separate-control-flow-from-error-reporting-in-CommandLineParser
Separate control flow from error reporting in command line parser
2021-12-06 16:50:27 +01:00
chriseth
f9859135d5
Merge pull request #12354 from ethereum/addReadBytesFunction
Function to read a number of bytes from an input stream.
2021-12-06 11:50:58 +01:00
nishant-sachdeva
a4fbc607c6 Issue 11610 : Replced typeError with fataTypeError in lines 390 and 406. Test file added in test/libsolidity/syntaxTests/calldata_struct_argument_with_internal_type_inside.sol
Issue : 11610 : Test cases updated, Changelog.md file updated to include change on 0.8.11
2021-12-03 12:23:35 +05:30
Leo Alt
16535aae32 Fix ICE when unsafe targets are solved more than once and the cex is different 2021-12-03 00:21:38 +01:00
chriseth
d9a4020a92 Function to read a number of bytes from an input stream. 2021-12-01 16:24:56 +01:00
chriseth
5d571bb111
Merge pull request #12352 from ethereum/lineColumnTranslateForCharStream
LineColumn handling for CharStream.
2021-12-01 15:59:21 +01:00
chriseth
264b7bd857 LineColumn handling for CharStream. 2021-12-01 15:16:01 +01:00
chriseth
b6bd85202c Accessors for exceptions. 2021-12-01 14:26:23 +01:00
chriseth
bd193ae840 Fix whitespace problem. 2021-12-01 12:46:02 +01:00
chriseth
5a908a8705
Merge pull request #12348 from dallonasnes/fix-cut-on-macos
Fix cl test script on macOS
2021-12-01 12:36:32 +01:00
Dallon Asnes
70e925dbfc
Update test/cmdlineTests.sh
Co-authored-by: Kamil Śliwak <cameel2@gmail.com>
2021-11-30 10:07:50 -06:00
Kamil Śliwak
c04fca7c2d
Merge pull request #12192 from ethereum/hardhat-in-oz-ext-test
Use Hardhat and the right binary for OpenZeppelin external tests
2021-11-30 16:17:28 +01:00
Dallon Asnes
a0aacb91a6 Fix cl test script on macOS 2021-11-29 23:43:28 -06:00
nishant-sachdeva
49d9f334aa Extracted some test cases from SolidityEndToEnd.cpp 2021-11-29 21:27:43 +05:30
Kamil Śliwak
9f59d1746b Fix OpenZeppelin external tests to actually use Hardhat and the binary built in CI 2021-11-25 21:34:53 +01:00
Leo Alt
a2588533e5 macos nondeterminism 2021-11-24 20:41:22 +01:00
Leo Alt
0c34d9df88 Adjust tests for nondeterminism 2021-11-24 20:41:22 +01:00
Leo Alt
ff5c842d67 update smtchecker tests 2021-11-24 20:41:22 +01:00
chriseth
0e7a065a78 Enhance documentation. 2021-11-23 14:58:04 +01:00
chriseth
bd321b9f1f Rename RedundantAssignEliminator to UnusedAssignEliminator. 2021-11-23 10:38:36 +01:00
chriseth
defc74c8a2
Merge pull request #12282 from ethereum/fix-gas-test-enforcement
Fix gas cost enforcement for constructors and make `--enforce-gas-cost-min-value` actually work
2021-11-22 12:39:07 +01:00
Kamil Śliwak
2aeeef83f2
Merge pull request #12214 from ethereum/parallelize-external-tests
Parallelize external tests
2021-11-18 17:27:57 +01:00
Kamil Śliwak
cbb3e07480
Merge pull request #12141 from ethereum/via-ir-equivalence-tests
Tests for the equivalence of one- and two-stage compilation via IR
2021-11-18 15:17:44 +01:00
Kamil Śliwak
ab96f2b69f
Merge pull request #12200 from ethereum/refactorASTJSON
Refactor ASTJSON tests to allow easier addition of variations.
2021-11-18 15:09:31 +01:00
Kamil Śliwak
90fdea95e7 TestFunctionCall::formatRawParameters(): Ensure that uint8_t overload of toHex() is called
- Wrong overload results in isoltest padding each char to 32 bytes
2021-11-15 20:52:25 +01:00
Kamil Śliwak
27dc77be5d Fix typo in test name: ihneritance -> inheritance 2021-11-15 16:32:45 +01:00
Kamil Śliwak
032f2d8f9f Update gas expectations 2021-11-15 16:32:45 +01:00
Kamil Śliwak
f42180ef06 Rename gas constants in ExecutionFramework 2021-11-15 16:31:52 +01:00
Kamil Śliwak
077b3a003d Fix --enforce-gas-cost-min-value being applied only when the cost expectations are not provided in the test file 2021-11-15 16:31:52 +01:00
Kamil Śliwak
cf52827107 Fix gas mismatch in constructor not being counted as a failure 2021-11-15 16:19:22 +01:00
Marenz
49b4e77d6b Prevent crash when translating yul->ewasm with @use-src annotations 2021-11-11 13:43:57 +01:00
Marenz
ab5a06e2b9 Refactor ASTJSON tests to allow easier addition of variations. 2021-11-11 10:44:16 +01:00
Kamil Śliwak
0d82fe9ca7 cmdlineTests.sh: Test the equivalence of one and two-stage compilation via IR 2021-11-10 18:12:06 +01:00
chriseth
f42e3c0bae
Merge pull request #12262 from ethereum/functionGrouper
Keep canonical form of Yul during optimization.
2021-11-10 11:09:15 +01:00
Kamil Śliwak
c8380c25bb CommandLineInterface: Update control flow to accommodate the new way of reporting errors 2021-11-09 18:16:30 +01:00
Kamil Śliwak
16f62ed43e Move the Yul experimental warning from CommandLineParser to CommandLineInterface and remove stderr from the parser 2021-11-09 18:16:30 +01:00
Kamil Śliwak
3f5471165f CommandLineParser: Report errors by raising exceptions 2021-11-09 18:16:30 +01:00
Kamil Śliwak
834f9d3a6e Parallelize external test runs on CircleCI 2021-11-09 16:57:37 +01:00
Kamil Śliwak
79af83eae3
Merge pull request #12191 from ethereum/more-flexible-external-test-scripts
Make external test scripts more flexible
2021-11-09 16:31:21 +01:00
Daniel Kirchner
10618188dd Update tests. 2021-11-09 14:34:05 +01:00
chriseth
fe6e58b0e4
Merge pull request #12259 from ethereum/external-tests-and-scripts-minor-reactors
Tiny refactors in external tests and scripts
2021-11-08 17:21:23 +01:00
chriseth
1633e367c9
Merge pull request #12199 from ethereum/expose-parsingAndImporting
Expose "parsingAndImporting" setting to user
2021-11-08 17:06:20 +01:00
Kamil Śliwak
44f7065fc9
Merge pull request #12074 from ethereum/output-selection-in-assembler-mode
CLI output selection in assembler mode
2021-11-08 16:59:57 +01:00
Kamil Śliwak
0745279f15 externalTests: Generalize force_truffle_solc_modules and make it use symlinks instead of redownloading solc-js 2021-11-08 16:37:23 +01:00
Kamil Śliwak
c090ff9d83 externalTests: Neutralize npm hooks instead of replacing pragmas twice
- This also has the nice effect of stopping projects from trying to compile contracts during installation
2021-11-08 16:37:23 +01:00
Kamil Śliwak
7b7cc081db externalTests: Helper for neutralizing package locks 2021-11-08 16:37:23 +01:00
Kamil Śliwak
b57c0a0b81 externalTests: Refactor to be more explicit and easier to adjust for special cases 2021-11-08 16:37:23 +01:00
Kamil Śliwak
7ccdbd5b08 Use consistent syntax for Bash function declarations 2021-11-08 16:34:07 +01:00
Marenz
fc224f74c7 Evaluate absolute paths for imports in 'parsing' stage 2021-11-08 16:34:02 +01:00
Kamil Śliwak
bc2402e76f externalTests: Use named tmp dirs 2021-11-08 16:29:59 +01:00
Kamil Śliwak
ed907561eb externalTests: Enable set -e in external tests 2021-11-08 16:29:52 +01:00
chriseth
080c7245ae Update tests. 2021-11-08 14:59:00 +01:00
chriseth
31c504c5ba Add test for extcodesize check. 2021-11-08 14:58:09 +01:00
chriseth
a1aa9d2d90 Skip extcodesize check if return data is expected. 2021-11-08 14:58:09 +01:00
chriseth
f9ba1bf3c8
Merge pull request #12227 from ethereum/smt_fix_gas
Fix ICE in CHC when using gas in the function options
2021-11-08 11:54:20 +01:00