Kamil Śliwak
9a7c364c71
Process input files in Standard JSON mode just like in other modes
...
- This makes `-` for stdin work.
- `--ignore-missing` now works with `--standard-json`, though it's not very useful because there can be at most one input file.
- Separate errors for situations where there are no input files on the command line (this can be detected in the parser) and where they are not present on disk.
2021-07-27 15:54:32 +02:00
Ladislav Sladecek
9bbeea58c8
Make --pretty-json work with Standard JSON output
2021-07-26 16:00:46 +02:00
Leo Alt
e46abd0ca1
Update tests due to nondeterminism
2021-07-19 15:20:11 +02:00
Leo Alt
20e23171da
Update tests to z3 4.8.12
2021-07-16 14:43:52 +02:00
Daniel Kirchner
3d26d47d46
Merge pull request #11525 from ethereum/yulControlFlowGraph
...
Yul control flow graph (OptimizedEVMCodeTransform Step 1)
2021-07-15 16:03:39 +02:00
Daniel Kirchner
f3707f2ab0
Control flow graph for Yul.
2021-07-15 15:24:12 +02:00
Mathias Baumann
bf204403d8
Add "@use-src" header for generated yul code
2021-07-15 14:26:01 +02:00
Marenz
57db4c82ba
Fix: Use correct byte offset separation
...
":" instead of ","
2021-07-15 13:15:21 +02:00
chriseth
f75b55071e
Remove CharStream from SourceLocation.
2021-07-14 15:12:07 +02:00
chriseth
e5ab68ed71
Use unknown file for invalid source index.
2021-07-12 17:35:49 +02:00
Christian Parpart
5e4868d5d6
Adapted tests due to more precise Yul source locations.
...
Also added support for -1 source index, referencing original scanner's source location.
2021-07-09 11:50:48 +02:00
Christian Parpart
132fa46faa
Yul: Adds parsing @src comment in AsmParser to customize the AST's sourcer locations.
2021-07-09 11:48:00 +02:00
chriseth
fec01c112a
Merge pull request #11616 from ethereum/issue-8191-yul
...
Test yul code blocks in documentation.
2021-07-08 15:37:01 +02:00
Marenz
d844d84b51
Test yul code blocks in documentation.
2021-07-08 14:59:05 +02:00
chriseth
62934b60ca
Merge pull request #11605 from ethereum/issue-8191
...
isolate_tests: Extract code blocks from documentation using code block header
2021-07-08 14:28:47 +02:00
chriseth
691083c032
Merge pull request #11632 from ethereum/yulNegationFunctionNameCollision
...
Fix negation function name collision.
2021-07-08 12:20:17 +02:00
Marenz
9a0da17a6d
Use more readable and maintainable multiline strings in py test script
2021-07-08 10:49:29 +02:00
Daniel Kirchner
0a6fc89da2
Fix negation function name collision.
2021-07-08 10:47:29 +02:00
Christian Parpart
f9f32c910d
Fix source location for `if
` statements.
2021-07-07 17:37:01 +02:00
chriseth
46514ffad2
Merge pull request #11520 from ethereum/local-streams-in-command-line-parser
...
Local output streams in CommandLineParser
2021-07-07 15:07:23 +02:00
Kamil Śliwak
baced5d10e
Test for the --help option
2021-07-07 12:53:15 +02:00
Kamil Śliwak
6c33fbcb6a
CommandLineParser: Replace global sout/serr streams with class members
...
- This removes the global variable and prevents stderr/stdout from being printed in tests
2021-07-07 12:53:15 +02:00
chriseth
566537835b
Merge pull request #11627 from ethereum/allowEmptyFileName
...
Include locations with empty source name.
2021-07-07 12:52:49 +02:00
Kamil Śliwak
ce11ebb687
Merge pull request #11518 from ethereum/command-line-parser
...
CommandLineParser
2021-07-07 12:51:09 +02:00
chriseth
6ba298c82b
Include locations with empty source name.
2021-07-07 12:13:52 +02:00
Kamil Śliwak
ef7abd224d
Tests for all input modes in CommandLineParser
2021-07-06 17:17:18 +02:00
Marenz
5291ca2dd4
isolate_tests: Extract code blocks from documentation using code block header
2021-07-06 16:57:05 +02:00
chriseth
8d5e82b406
Fix source location of builtin function calls.
2021-07-06 16:54:29 +02:00
chriseth
09578e7e22
Merge pull request #11550 from ethereum/runs-constant
...
Constant for default --runs
2021-07-06 10:44:07 +02:00
Kamil Śliwak
105b4b4c8b
Update tests
2021-07-05 13:46:53 +02:00
Kamil Śliwak
a72857df03
CommonIO: Replace readStandardInput() with readUntilEnd() with a configurable stream
2021-07-02 14:58:30 +02:00
Kamil Śliwak
e3b345e5f0
Use a simpler stack optimization test to avoid having ICE message with absolute paths as expected output
2021-07-01 17:29:24 +02:00
Kamil Śliwak
753f359157
Replace stack optimization command-line test with Standard JSON ones
...
- It's not possible to run optimizer with only stack optimization enabled on the CLI.
2021-07-01 16:54:09 +02:00
Kamil Śliwak
9d08b5001f
Add sstore to linker tests to prevent the address from being optimized out
2021-07-01 16:54:09 +02:00
Kamil Śliwak
703a73f949
EVMCodeTransformTest: Disable all non-stack optimizations
2021-07-01 16:54:09 +02:00
Alex Beregszaszi
cd60ade472
Improve some Yul object and command line tests to avoid using pop() which can be optimized out
2021-07-01 16:54:09 +02:00
hrkrshnn
b628b115ae
Manually enabled gas statistics for erc20 token test.
2021-06-30 16:35:53 +02:00
chriseth
13d1fc9f41
Merge pull request #11579 from ethereum/better-errors-about-bad-paths-in-tests-with-external-sources
...
Better errors about bad paths in tests with external sources
2021-06-30 11:56:47 +02:00
chriseth
54b1c667f1
Merge pull request #11595 from ethereum/issue-11526
...
Fix yul codegen bug when using binary negation.
2021-06-30 11:55:42 +02:00
Mathias Baumann
c47d02066c
Fix yul codegen bug when using binary negatition.
2021-06-29 17:41:03 +02:00
chriseth
eaac16c779
Merge pull request #11590 from ethereum/disallow-non-hex-zero-and-fix-bytes32-literals-in-bytes-concat
...
Disallow non-hex zero literals and fix 32-byte hex literals in `bytes.concat()`
2021-06-29 16:34:26 +02:00
Kamil Śliwak
6a50d088a0
Fix ICE for 32-byte hex literals and zero literals in bytes.concat() by disallowing them
2021-06-29 14:48:42 +02:00
Kamil Śliwak
fa3696878b
Fix crash when passing empty strings to bytes.concat()
2021-06-29 13:52:01 +02:00
Daniel Kirchner
c341445f8e
Maintain disambiguation when generating new functions in StackToMemoryMover.
2021-06-28 18:11:57 +02:00
Daniel Kirchner
bc288aacf5
Have the stack optimization in the code transform only reuse slots that are reachable and fix argument slot reuse on functions without return variables.
2021-06-28 18:11:57 +02:00
Daniel Kirchner
dfce7b667d
Move function arguments and return values.
2021-06-28 18:11:57 +02:00
chriseth
22402accfe
Merge pull request #11578 from ethereum/soltest-clearer-error-message-for-std-exception
...
Clearer error message for `std::exception` in soltest
2021-06-28 16:13:21 +02:00
Kamil Śliwak
19fada966f
Do not use \b, \v and \f escapes in string literals in generated Yul code
2021-06-28 14:13:47 +02:00
Kamil Śliwak
6ad6fa2382
Do not hard-code the default 'runs' value as 200 in code that fills out optimizer settings
2021-06-28 14:12:28 +02:00
Kamil Śliwak
ca0b1bf3f3
Fix crash when passing zero to bytes.concat()
2021-06-25 21:26:28 +02:00
Kamil Śliwak
e841479b4b
TestCaseReader: Disallow UNC paths along with absolute ones
2021-06-25 18:41:21 +02:00
Kamil Śliwak
34425c351d
Tests for readFileAsString()
2021-06-25 18:41:21 +02:00
Kamil Śliwak
8d5eaf400a
Create FilesystemUtils with filesystem-related convenience helpers
2021-06-25 18:41:21 +02:00
Kamil Śliwak
65e23ff171
CommonIO: Make readFile() check if the file is not a directory and if not fail with a sensible exception rather than std::length_error
2021-06-25 16:04:58 +02:00
Kamil Śliwak
82b720029d
boostTest: Print diagnostic information for std::exception too
2021-06-25 13:25:10 +02:00
Kamil Śliwak
030fb1d9a2
boostTest: Give BOOST_REQUIRE_NO_THROW a smaller block of code to make the error message clearer when a test raises an unexpected exception
2021-06-25 13:22:15 +02:00
Alexander Arlt
8accf420ea
[yul] Functions: Remove dependency on AST ID.
2021-06-23 16:15:25 +02:00
chriseth
26598a2603
Merge pull request #11569 from ethereum/fixcalltounimplementedmodifier
...
Prevent calls to unimplemented modifiers.
2021-06-23 09:25:02 +02:00
Kamil Śliwak
afb8fb4927
Create libraries for yul-phaser and solc to avoid compiling their sources again for soltest
2021-06-22 17:47:45 +02:00
chriseth
c5923f7fcf
Prevent calls to unimplemented modifiers.
2021-06-22 17:08:28 +02:00
Kamil Śliwak
98e83303b1
Remove assertions preventing calldata->calldata conversion when cleanup is needed
2021-06-22 16:10:16 +02:00
Kamil Śliwak
0311b955c2
isolate_tests.py: Parse Sphinx block parameters correctly
2021-06-21 20:54:12 +02:00
Djordje Mijovic
838f59fa5b
Adding origin location notation to yul ir.
2021-06-21 18:48:20 +02:00
chriseth
0df8a38e55
Support metadata via IR.
2021-06-21 18:20:31 +02:00
hrkrshnn
eb04dfcd3e
Updated expectation of FixedFeeRegistrar.sol
2021-06-17 10:09:47 +02:00
chriseth
614683019b
Merge pull request #11426 from ethereum/test-fixedfee
...
Move contracts/FixedFeeRegistrar to semanticTests/externalContracts
2021-06-16 18:34:10 +02:00
chriseth
5b4a2f66e1
Directly restart processing calling functions.
2021-06-14 13:54:05 +02:00
Daniel Kirchner
284e8a103f
Remove potentially non-deterministic test case.
2021-06-09 14:42:16 +02:00
chriseth
e5500b9f20
Merge pull request #11471 from ethereum/funcdef-unimplemented-modifier
...
Reports an error on unimplemented modifiers in a function definition.
2021-06-09 13:54:05 +02:00
Christian Parpart
a14ac1923d
Fixes ICE when overriding an implemented modifier with an unimplemented one.
2021-06-09 13:15:20 +02:00
Kamil Śliwak
362fc6650d
Extra tests for shadowing within function parameter lists
2021-06-09 12:37:12 +02:00
a3d4
f59145f21f
Fix shadowing struct types by struct member names
2021-06-09 12:37:11 +02:00
a3d4
70b8b1c834
Do not warn about shadowing parameters in functions without implementation
2021-06-09 12:35:26 +02:00
Mathias Baumann
001a25db95
Fix crash in ControlFlowGraph related to free functions.
2021-06-09 11:10:33 +02:00
chriseth
3eaa37030a
Fix infinite recursion in function call graph generator due to recursive constant references.
2021-06-08 16:39:30 +02:00
Mathias Baumann
354f9d1015
Fix: Allow multiple @return tags on public state variables
2021-06-07 15:16:46 +02:00
Mathias Baumann
aae9d347aa
Split DocStringParsing in two stages
...
one requiring type info in the next step
2021-06-07 14:49:46 +02:00
chriseth
1f8f1a3db9
Merge pull request #11484 from ethereum/fix-unreachable-code-anaysis
...
Fix revert pruner modifying function flows wrong
2021-06-04 12:44:35 +02:00
chriseth
8da5d6a854
Update test expectations.
2021-06-04 12:04:04 +02:00
chriseth
a8ffa6c08d
Merge pull request #11482 from ethereum/fixUnreachable2
...
Fix control-flow handling of modifiers without body.
2021-06-03 16:56:05 +02:00
chriseth
2e3ee4c156
Fix control-flow handling of modifiers without body.
2021-06-03 13:31:15 +02:00
hrkrshnn
c3eef8af91
Fix ICE related to receive function having parameters.
2021-06-03 13:08:57 +02:00
chriseth
a30cf6c3e8
Merge pull request #11480 from ethereum/event-mapping-fatal-error
...
Errors about nested mapping in event parameter are fatal.
2021-06-03 11:39:26 +02:00
hrkrshnn
2309ae3edd
Added tests for internal or recursive types as event / error param
...
After converting the error about mapping parameter in event / error into a fatal type error, we were
missing tests that reached the "internal or recursive types" error.
2021-06-03 11:02:27 +02:00
hrkrshnn
cc915f023e
Errors about nested mapping in event parameter are fatal.
...
(Also applies for error parameters.)
2021-06-03 11:02:27 +02:00
chriseth
c55d173a28
Merge pull request #11479 from ethereum/fix-ice-when-assigning-implicitly-convertible-function-array-to-storage
...
Fix ICE when assigning implicitly convertible function array to storage
2021-06-03 10:52:21 +02:00
chriseth
b00027724a
Merge pull request #11478 from ethereum/fix-ice-when-calling-invalid-external-function-type
...
Treat invalid external function type as a fatal error
2021-06-03 09:00:38 +02:00
chriseth
93936129f1
Merge pull request #11476 from ethereum/fix-ice-on-library-bound-to-literal
...
Fix ICE in IR when a library is bound to a literal
2021-06-03 08:58:00 +02:00
Kamil Śliwak
ccf658b0e8
Fix assertion preventing assignment of arrays of implicitly convertible function types
2021-06-03 08:56:02 +02:00
Kamil Śliwak
4a19c7e495
Treat invalid external function type as a fatal error to prevent the type from being used
...
- `returnParameterTypesWithoutDynamicTypes()` assumes it won't encounter such types.
2021-06-02 21:44:39 +02:00
Kamil Śliwak
d96cc3469a
FunctionDefinition.resolveVirtual(): Skip unimplemented functions when lookup happens via super
2021-06-02 16:16:15 +02:00
Kamil Śliwak
67e87147b4
Extra asserts, test renaming, test for super in modifiers
2021-06-02 16:15:51 +02:00
Kamil Śliwak
3c7112ed2b
Remove the assertion against functions bound to types for which should not be possible
...
- The list was wrong - we do support string and int literals
- The assertion was meant to guard against silently skipping over types for which there is no special handling. The current code handles everything in a generic way though and likely will not have to be adjusted for newly added types so the risk of that happening is low.
2021-06-02 13:59:42 +02:00
chriseth
4cbf9ff74c
Merge pull request #10143 from ethereum/issue-10084
...
ControlFlowAnalyser: Also consider called functions in a flow
2021-06-01 19:34:56 +02:00
Leo Alt
bf21cd400c
Fix conversion from bytes to fixed bytes
2021-06-01 17:55:18 +02:00
Mathias Baumann
56ebea8b2f
ControlFlowAnalyser: Also consider called functions in a flow
2021-06-01 15:54:37 +02:00
Leo Alt
547a6915ad
Fix ICE on external calls from constructor
2021-06-01 14:21:48 +02:00
Leo Alt
97a7c5429b
Add SMTChecker tests with modules
2021-06-01 13:35:44 +02:00
Leo Alt
8eb28b10cb
Add SMTChecker tests with modules
2021-06-01 13:35:10 +02:00
chriseth
0623658ddd
Properly set source location of bare blocks.
2021-05-31 18:28:17 +02:00
Alexander Arlt
376836a7fb
Fix typo.
2021-05-31 10:07:26 -05:00
Harikrishnan Mulackal
8ecf79474b
Merge pull request #11458 from ethereum/event_indexed_mixed
...
Add test with event where indexed parameters are not the first.
2021-05-31 16:19:52 +02:00
chriseth
3dfa68a574
Merge pull request #11456 from ethereum/ice-abstract-contract-mapping-constructor
...
Fix ICE related to mapping types in abstract contract constructor
2021-05-31 15:35:26 +02:00
chriseth
28aad7e0b4
Add test with event where indexed parameters are not the first.
2021-05-31 15:19:56 +02:00
hrkrshnn
138873d918
Fix ICE related to mapping types in abstract contract constructor
2021-05-31 14:56:49 +02:00
chriseth
c09dc6144c
Merge pull request #11050 from ethereum/isoltest-effects-events
...
[isoltest] Add support for events using call side-effects.
2021-05-31 14:38:14 +02:00
chriseth
6dd5bcd3f0
Merge pull request #11454 from ethereum/data-location-error
...
Error message: try-catch parameter cannot be in storage.
2021-05-31 14:31:01 +02:00
hrkrshnn
f582d48f7b
Error message: try-catch parameter cannot be in storage.
2021-05-31 11:25:08 +02:00
chriseth
29a995b937
Merge pull request #11433 from ethereum/panic-dedup
...
Insert a call to panic function in legacy codegen (and not inline it every single time)
2021-05-31 11:23:30 +02:00
Alexander Arlt
85e3fcb1bf
[isoltest] Extract event specific end-to-end tests.
2021-05-27 23:21:55 -05:00
Alexander Arlt
ec86e3e9ae
[isoltest] Add support for events using call side-effects.
2021-05-27 23:21:55 -05:00
Alex Beregszaszi
47167a42a7
Update tests
2021-05-27 18:31:54 +01:00
Alex Beregszaszi
cc8d341e28
Include utility functions in ExpressionCompiler tests
2021-05-27 18:31:54 +01:00
Leo Alt
d828aeee23
Update test nondet
2021-05-26 22:12:49 +02:00
Leo Alt
cb017b95cf
update tests
2021-05-26 22:12:49 +02:00
Alexander Arlt
3c57ede026
Fix for boost v1.76.
2021-05-26 08:44:23 -05:00
chriseth
caa833909d
Merge pull request #11244 from ethereum/berlin-gas-update
...
Change default EVM version to Berlin and update Gas costs.
2021-05-26 13:34:04 +02:00
hrkrshnn
dc15e31605
Increased the tolerance for two GasMeter tests.
2021-05-26 12:23:06 +02:00
hrkrshnn
97c9d21376
Force two tests to go out of gas.
2021-05-26 12:23:06 +02:00
hrkrshnn
4d6c951396
Isoltest gas update after Berlin gas cost changes
2021-05-26 12:23:06 +02:00
hrkrshnn
180e00f56d
Updated tests after changing EVM version to Berlin
2021-05-26 12:23:06 +02:00
hrkrshnn
d5564a0304
Set default EVM version to Berlin
2021-05-26 12:23:06 +02:00
hrkrshnn
7d28ea3746
Updated gas costs for Berlin
2021-05-26 11:36:43 +02:00
chriseth
6640fb8c8a
Merge pull request #11048 from ethereum/isoltest-effects
...
[isoltest] Add support for call side-effects.
2021-05-25 17:24:34 +02:00
hrkrshnn
d80a92752a
Added a gas test for storage costs
2021-05-25 12:42:32 +02:00
hrkrshnn
1839d195be
Clears EIP-2929 account and storage access indicator on new blocks.
...
For semantic tests each test (in the same test file) happens on a new block, however the storage and
account access indicators were not reset.
2021-05-25 12:32:59 +02:00
Alexander Arlt
66099fe938
[isoltest] Remove storage command left overs.
2021-05-24 08:36:46 -05:00
Alexander Arlt
e9ee571b35
[isoltest] Add support for call side-effects.
2021-05-22 00:12:07 -05:00
Kamil Śliwak
29c8f282e4
Merge pull request #11419 from ethereum/sc-inline
...
Properly support inliner in settings.optimizer.details
2021-05-21 17:51:39 +02:00
Alex Beregszaszi
cb2c246a7b
Move contracts/FixedFeeRegistrar to semanticTests/externalContracts
2021-05-21 13:51:19 +01:00
Alexander Arlt
799106acfe
[isoltest] Add account builtin.
...
Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
2021-05-21 12:38:05 +01:00
Alex Beregszaszi
75c72cd54d
Properly support inliner in settings.optimizer.details
2021-05-20 20:22:34 +01:00
Alex Beregszaszi
13388e283e
Merge pull request #11385 from ethereum/temporary-working-directory-helper
...
TemporaryWorkingDirectory helper
2021-05-20 20:06:03 +01:00
Kamil Śliwak
4a2080b3aa
TemporaryDirectory: Use boost::filesystem::equivalent() instead of == in path comparisons
2021-05-20 00:07:42 +02:00
Kamil Śliwak
828b15b34f
Implement TemporaryWorkingDirectory test helper
2021-05-20 00:07:42 +02:00
Kamil Śliwak
d85cc6c06a
Fix dangling reference produced by temporary passed to TestFileParser going out of scope
...
- This fixes the `stack-use-after-scope` error reported by asan.
2021-05-19 23:27:41 +02:00
Kamil Śliwak
752483b92f
Minor style tweaks in test TestFileParser (names and wrapping)
2021-05-19 23:27:41 +02:00
Leonardo
dac24294c7
Merge pull request #11384 from ethereum/expose-temporary-directory-helper
...
Expose TemporaryDirectory helper
2021-05-18 12:44:10 +02:00
Harikrishnan Mulackal
21af5408d9
Merge pull request #11397 from ethereum/v1-test-cleanup
...
Cleanup ABICoder V1 tests
2021-05-17 16:20:22 +02:00
Martin Blicha
9c98ab59f0
SMTChecker: fixed struct constructor where FixedBytes member is initialized with a string literal
2021-05-17 13:52:37 +02:00
Alex Beregszaszi
3e8e5f3bf9
Fix v1/v2 tests to behave like they did pre-0.8.0
2021-05-17 12:37:10 +01:00
Alex Beregszaszi
299873182b
Cleanup ABICoder V1 tests
...
Include the pragma explicitly, rename the file to have a _v1 suffix, and also add V2 counterparts where missing.
2021-05-17 12:37:10 +01:00
Harikrishnan Mulackal
85552b58d8
Merge pull request #11392 from ethereum/evmc-transfer
...
EVMHost: Fix selfdestruct with non-zero value at beneficiary and value-transfers with insufficient funds
2021-05-17 12:27:41 +02:00
Harikrishnan Mulackal
e76a8cbc31
Merge pull request #11395 from ethereum/prbmath
...
Fix prbmath.exp tests
2021-05-17 11:28:15 +02:00
Alex Beregszaszi
e73ee468a8
Update tests
2021-05-14 19:56:26 +01:00
Alex Beregszaszi
bb7f500bb1
Add sanity check into SemanticTest for not allowing ABIEncoderV1Only and compileViaYul together
2021-05-14 19:56:26 +01:00
Alex Beregszaszi
7dc514847a
Fix prbmath.exp tests
2021-05-14 15:29:12 +01:00
Alex Beregszaszi
a54699f452
EVMHost: Fix selfdestruct with non-zero value at beneficiary and value-transfers with insufficient funds
...
Create a helper for transfering balance between two accounts. Check sufficient funds are available during a call-with-value.
2021-05-14 00:10:49 +01:00
Alex Beregszaszi
3172d28c56
Upgrade hera to v0.3.2-evmc8
2021-05-13 13:15:13 +01:00
Kamil Śliwak
cdebbb0dbb
TemporaryDirectory: Expose boost::filesystem::path in class interface
2021-05-12 18:08:17 +02:00
Kamil Śliwak
5619702d31
Extract TemporaryDirectory test helper from yulPhaser's tests into a more general location
2021-05-12 17:16:29 +02:00
Alex Beregszaszi
99354a3b59
Upgrade evmone to 0.7.0
2021-05-12 16:56:23 +02:00
Alex Beregszaszi
c66c5c9f1d
EVMHost: properly populate implicit access list for Berlin
2021-05-12 16:49:04 +02:00
Alex Beregszaszi
5bfd26287c
Upgrade to EVMC 8.0.0
2021-05-12 16:49:04 +02:00
Daniel Kirchner
98e2b4e5ed
Merge pull request #11374 from ethereum/semanticTestVMLoadingAndFailures
...
Change loading of VMs and error messages during test.
2021-05-12 16:47:16 +02:00
Daniel Kirchner
06a9199967
Change loading of VMs and error messages during test.
2021-05-12 14:48:37 +02:00
Leo Alt
880a2fffb6
tests
2021-05-11 21:20:42 +02:00
Daniel Kirchner
6104ac1cdf
Remove more imports of ranges namespace.
2021-05-07 15:42:17 +02:00
Djordje Mijovic
53e3081e81
Update gas costs in tests.
2021-05-05 11:33:09 +02:00
Djordje Mijovic
f0c5cdca9f
[Sol->Yul] Adding util function to copy literal to storage.
...
Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
Co-authored-by: chriseth <chris@ethereum.org>
2021-05-05 11:33:03 +02:00
chriseth
9d156b52c4
Merge pull request #8868 from ethereum/functionEntryPoints
...
Note function entry points.
2021-05-05 11:08:44 +02:00
chriseth
6d41ed024a
Update existing tests.
2021-05-05 10:28:23 +02:00
chriseth
e7708b6006
Properly treat utf8-non-encodable yul literals.
2021-05-05 10:28:23 +02:00
Djordje Mijovic
8f6d94dbd2
Update gas expectations in semantic tests.
2021-05-05 08:53:40 +02:00
chriseth
f9c94d7c42
Note function entry points.
2021-05-04 17:15:13 +02:00
chriseth
faca036837
Merge pull request #11294 from ethereum/yulAstDebugDataRefactor
...
Removing location in favor of debugData in yul AST structures
2021-05-04 17:05:40 +02:00
Djordje Mijovic
e404b6e7a6
Refactoring yul source locations.
2021-05-04 16:05:23 +02:00
chriseth
aded56b5b9
Update tests
2021-05-03 18:28:43 +02:00
chriseth
2e274a0b26
Add commandline test to show debug strings.
2021-05-03 18:28:39 +02:00
Leo Alt
1642c10f6e
Fix ICE in free functions
2021-05-03 10:57:11 +02:00
chriseth
996f3d31d5
Merge pull request #11321 from ethereum/test-prbmath
...
Add semantictest using prbmath
2021-05-03 10:36:30 +02:00
Alexander Arlt
68f0f36a2d
[soltest] Improve Builtin Initialization.
2021-05-02 22:13:40 -05:00
chriseth
426d60f07b
Commandline test updates.
2021-04-29 16:46:25 +02:00
chriseth
fcc98d12b8
Gas updates.
2021-04-29 16:45:05 +02:00
chriseth
f30ef06d62
Update tests.
2021-04-29 15:08:54 +02:00
Alexander Arlt
19ad9fac99
[isoltest] Add support to query balance.
2021-04-28 16:19:05 +02:00
chriseth
e1ae4e37a0
Allow user-defined functions called like builtins.
2021-04-28 16:16:32 +02:00
chriseth
5c02837485
Merge pull request #10982 from ethereum/storage_builtin
...
[isoltest] Replace storage command with storage builtin.
2021-04-28 15:38:29 +02:00
chriseth
2cd0bb11dc
Merge pull request #11316 from ethereum/verbatimdata-tests
...
Added a few optimizer tests for Verbatim
2021-04-28 10:19:19 +02:00
hrkrshnn
8b4eaeabbf
Added a few optimizer tests for Verbatim
2021-04-28 09:56:45 +02:00
Alexander Arlt
ed27c77def
[isoltest] Ignore gas checks on isoltest builtins.
2021-04-27 16:28:37 -05:00
Alexander Arlt
1f2711b0aa
[isoltest] Replace storage command with 'storage_empty' builtin.
2021-04-27 16:28:37 -05:00
Alex Beregszaszi
0b3f3dff60
Add ramanujan's pi approximation as a semantic test
2021-04-27 20:47:42 +01:00
Alex Beregszaszi
484a4398a7
Add semantic tests using prb-math
2021-04-27 20:23:13 +01:00
Alex Beregszaszi
ada046ba9a
Import prb-math for testing
...
From 62021c1abc
2021-04-27 20:08:33 +01:00
Alex Beregszaszi
5852972ec1
Merge pull request #11309 from ethereum/test-stringutils
...
Add some semantic tests using stringutils
2021-04-27 18:12:37 +01:00
Alex Beregszaszi
5331bc679a
Fix some issues regarding checked arithmethics in stringutils
2021-04-27 17:05:40 +01:00
Alex Beregszaszi
6b3357be50
Add semantic tests using stringutils
2021-04-27 17:02:54 +01:00
chriseth
3548049c61
Merge pull request #10356 from ethereum/isoltest-add-enforce-ewasm
...
[test] Add support for --enforce-compile-to-ewasm.
2021-04-27 17:51:33 +02:00
Kamil Śliwak
43de99dee5
Use 'optimizationPreset: none' for objectCompiler tests that rely on things that could get optimized out
2021-04-27 14:07:04 +02:00
Kamil Śliwak
a51d72fb89
ObjectCompilerTest: Replace 'optimize' setting with 'optimizationPreset'
2021-04-27 14:06:56 +02:00
Kamil Śliwak
9c6f8c011f
TestCaseReader: Add enumSetting()
2021-04-27 14:06:56 +02:00
Kamil Śliwak
28b9d27fae
SoltestErrors: Qualify runtime_error with std:: to make it possible to use in in headers
2021-04-27 13:43:07 +02:00
Alex Beregszaszi
1a556aaa7f
Move compilationTests/stringutils to semanticTests/externalContracts
2021-04-27 11:21:14 +01:00
chriseth
f72592549b
Merge pull request #11110 from ethereum/issue_10475_isoltest_external_sources
...
[isoltest] Add support for external sources.
2021-04-27 10:54:39 +02:00
Alexander Arlt
da38149f57
[test] Add support for --enforce-compile-to-ewasm.
2021-04-26 20:31:03 -05:00
chriseth
2b5a24e82e
Add function side effects test.
2021-04-26 19:56:44 +02:00
chriseth
cb1af8b88a
Make verbatim compatible with KnownState.
2021-04-26 19:56:44 +02:00
chriseth
e2d8005737
Add verbatim builtin.
2021-04-26 19:56:44 +02:00
Alexander Arlt
481971cbcf
[isoltest] Add support for external sources.
2021-04-26 08:27:30 -05:00
chriseth
2969bc0f3e
Merge pull request #11302 from ethereum/drop-u160
...
Drop the util::u160 type
2021-04-26 15:12:20 +02:00
Alexander Arlt
8239eaa1b8
Fix test builtins & add simple smoke test.
2021-04-26 07:51:43 -05:00
chriseth
d9df3d50e2
Merge pull request #11311 from anurag-git/issue_10738-3
...
Use range-v3 loops(remove_erase, remove_erase_if)
2021-04-26 14:18:15 +02:00
chriseth
659da4bdc7
Merge pull request #11047 from ethereum/bytesToBytesNNConversion
...
Bytes to bytesNN conversion
2021-04-26 11:51:41 +02:00
anurag4u80
c4cf412fed
Replaced boost remove_erase and remove_erase_if
2021-04-24 08:10:41 +05:30
Alex Beregszaszi
60189b4f61
Remove obsolete Error constructor
2021-04-23 23:55:22 +01:00
Kamil Śliwak
173a511809
Merge pull request #11303 from ethereum/noncopyable
...
Remove the usage of boost::noncopyable
2021-04-23 22:38:49 +02:00
Alex Beregszaszi
f952f851b7
Enable more semantic tests for Ewasm
2021-04-23 17:00:01 +01:00
Alex Beregszaszi
73b804aff4
Update tests
2021-04-23 15:54:10 +01:00
Alex Beregszaszi
e39433198d
Remove the usage of boost::noncopyable
...
Prior to this half of the codebase used explicit deleted copy constructors, the others used boost::noncopyable.
2021-04-23 14:57:01 +01:00
Alex Beregszaszi
ac192ff4c1
Drop the util::u160 type
2021-04-23 14:35:06 +01:00
Alex Beregszaszi
37be1b3ed9
Remove dependency on util::160 in yulInterpreter
...
Instead apply explicit truncation or masking for readability.
2021-04-23 14:35:05 +01:00
Djordje Mijovic
eb457064b1
Adding semantic tests for bytes to bytesNN conversion.
2021-04-23 13:30:19 +02:00
Djordje Mijovic
ece42c07df
Adding syntax test for bytes to bytesNN conversion.
2021-04-23 13:19:19 +02:00
Harikrishnan Mulackal
f162c484ca
Merge pull request #11026 from ethereum/resolve-keccak
...
Evaluate ``keccak256(a, const)``, when the value at memory location ``a`` is known at compile time and ``const <= 32``
2021-04-22 19:18:19 +02:00
hrkrshnn
b599235b8d
Skip resolving Keccak if AST contains msize.
...
Also a refactoring changing `m_optimizeMLoad` to `m_containsMSize`.
2021-04-22 18:19:47 +02:00
hrkrshnn
3d29ae73e7
Isoltest: updated the gas tests.
2021-04-22 18:19:47 +02:00
hrkrshnn
b636ef881e
Added command line tests for keccak optimization with low runs
...
The value of keccak256(0, 32) should not be replaced by the big constant
2021-04-22 18:19:47 +02:00
hrkrshnn
221292c278
Tests and changelog
2021-04-22 18:19:47 +02:00
hrkrshnn
1f5b874eaf
Optimizer context has parameter expectedExecutionsPerDeployment
2021-04-22 17:27:57 +02:00
chriseth
a6a3af58a0
Add test.
2021-04-22 17:23:56 +02:00
chriseth
ec4558a245
Update gas costs.
2021-04-22 16:54:02 +02:00
chriseth
314f361d07
Update commandline tests.
2021-04-22 16:54:02 +02:00
chriseth
00fb2d390b
Do not replace zeros by return variable.
2021-04-22 16:54:02 +02:00
Đorđe Mijović
8840fb6ffd
Merge pull request #11270 from ethereum/addingBoundsByteArraySolYul
2021-04-22 15:41:32 +02:00
chriseth
e408b708ac
Use "for objects" dialect for function side effects test.
2021-04-22 14:37:51 +02:00
Djordje Mijovic
3a4233f3ad
[Sol->Yul] Adding bounds check when increasing size of byte array.
2021-04-22 11:42:46 +02:00
chriseth
35b651103d
Adjust cost of literal zero.
2021-04-22 11:42:42 +02:00
Alex Beregszaszi
8fb7a18800
Small refactorings for isoltest
2021-04-22 01:04:34 +01:00
Alex Beregszaszi
f1aaae36ee
Upgrade to EVMC 7.5.0
...
One important change: MockedAccount.storage is a map and not unordered_map
2021-04-21 21:05:40 +01:00
Leonardo
7bbf3a694b
Merge pull request #11261 from ethereum/smt_choose_target
...
[SMTChecker] Add option to choose contracts to be analyzed
2021-04-21 13:11:33 +02:00
chriseth
c3d73982ea
Merge pull request #11268 from ethereum/refactorByteArrayPopSol2Yul
...
[Sol->Yul] Refactor ByteArrayPop to use unchecked index access
2021-04-21 13:05:00 +02:00
chriseth
e2120f1f2f
Merge pull request #11272 from ethereum/replace-boost-with-rangev3-solgen
...
Remove most boost usages in Yul proto converter
2021-04-21 12:21:57 +02:00
Djordje Mijovic
d03744489f
Update cmdline tests.
2021-04-21 11:01:22 +02:00
Djordje Mijovic
9fcf16900d
Update gas costs in smeantic tests.
2021-04-21 11:01:22 +02:00
Leonardo Alt
dd1865873e
Choose contracts to be analyzed by the SMTChecker
2021-04-21 10:34:14 +02:00
Bhargava Shastry
69dd1771b7
Remove as many boost usages as possible in protoToYul.cpp
2021-04-20 18:46:19 +02:00
Alex Beregszaszi
4177270562
Trivial isoltest updates: comments always on the same line
2021-04-20 17:38:29 +02:00
Alex Beregszaszi
1be07c2b36
Trivial isoltest updates: missing // ---- at the end
2021-04-20 17:38:29 +02:00
Alex Beregszaszi
84c05d35f3
Trivial isoltest updates: normalized whitespace
2021-04-20 17:38:29 +02:00
Alex Beregszaszi
45c6bbe02b
Trivial isoltest updates: directives sorted alphabetically
2021-04-20 17:21:56 +02:00
chriseth
cf7f814a4e
Merge pull request #10921 from ethereum/issue-10881
...
Natspec: Don't copy from base function if return parameters differ
2021-04-20 15:33:48 +02:00
Leonardo Alt
a39a6e26da
update tests
2021-04-19 19:23:18 +02:00
Leonardo Alt
80892c8a21
Fix nondeterminism
2021-04-19 19:23:18 +02:00
Leonardo Alt
36def3ef6e
tests for free constants
2021-04-19 19:23:18 +02:00
Leonardo Alt
fd8b4afb76
new free function tests
2021-04-19 19:23:18 +02:00
Leonardo Alt
095d337140
Basic support to free constants
2021-04-19 19:23:18 +02:00
Leonardo Alt
6ae82fcec2
Add tests for the library bug
2021-04-19 19:23:18 +02:00
Leonardo Alt
4e34359063
Basic support to free functions
2021-04-19 19:23:18 +02:00
chriseth
6a0a51110d
Merge pull request #11256 from ethereum/smt_target_array
...
Change settings.modelChecker.targets to take an array instead of string
2021-04-19 18:47:06 +02:00