chriseth
|
f692cec11d
|
Provide path to libevmone.
|
2019-08-08 17:35:46 +02:00 |
|
chriseth
|
3dec3af638
|
Use evmone for testing.
|
2019-08-08 17:35:44 +02:00 |
|
Bhargava Shastry
|
2f815c5c35
|
While compiling abiv2 proto generated solidity test program, silently ignore stack too deep errors (exception), throw exception otherwise.
|
2019-08-06 11:06:09 +02:00 |
|
Bhargava Shastry
|
bf16f2f75e
|
Test low level calls with correct and incorrect encodings
|
2019-08-06 09:43:55 +02:00 |
|
Bhargava Shastry
|
e018d62a67
|
Dynamically sized array dimensions can be zero sized
|
2019-08-01 16:33:57 +02:00 |
|
Bhargava Shastry
|
90d421352a
|
Add bool type and array of bool and dynamic byte types
|
2019-07-17 14:24:43 +02:00 |
|
Bhargava Shastry
|
00bca77cca
|
Updated evmc to version tracked by evmone v0.1.0
|
2019-07-17 14:24:27 +02:00 |
|
Christian Parpart
|
810a0de1aa
|
Add evmc and host interface implementation. Modify fuzzer harness to make use of evmc host/vm.
|
2019-07-17 10:55:33 +02:00 |
|
Bhargava Shastry
|
5aa571e56f
|
Update fuzzing deps in docker image and ossfuzz CMakeLists.txt
|
2019-07-16 09:10:02 +02:00 |
|
chriseth
|
869d69d293
|
Supply full object to stack compressor and Optimizer Suite.
|
2019-07-10 18:49:42 +02:00 |
|
Bhargava Shastry
|
3b33ff1454
|
Adjust call to suffixedVariableNameList post refactoring in ABIv2 proto fuzzer and slim down dependencies.
|
2019-07-09 18:18:40 +02:00 |
|
chriseth
|
859dbaa2a3
|
Merge pull request #7053 from djudjuu/moveSuffixHelper
move SuffixHelper to StringUtils
|
2019-07-09 14:32:05 +02:00 |
|
djudjuu
|
cafa01cbf6
|
moved SuffixHelper to StringUtils
|
2019-07-09 13:50:07 +02:00 |
|
chriseth
|
479b843067
|
Merge pull request #7048 from ethereum/soltest-refactoring
[isoltest] Types and formatting refactoring
|
2019-07-09 12:50:15 +02:00 |
|
Bhargava Shastry
|
5bc1a68b40
|
ABIv2 proto fuzzer implementation for a limited set of value and non-value types (arrays included).
|
2019-07-09 10:50:43 +02:00 |
|
Erik Kundt
|
de34f7712d
|
Separates types and conversion functions in soltest.
|
2019-07-04 14:11:07 +02:00 |
|
chriseth
|
a4ef435c07
|
Automated ABI Json tests.
|
2019-07-02 18:11:49 +02:00 |
|
chriseth
|
05a67c486e
|
Use "what" in exception reports.
|
2019-06-18 17:34:10 +02:00 |
|
Bhargava Shastry
|
b5cbb1a3e9
|
For loop with custom init and post blocks and potentially unbounded conditional expression
|
2019-06-14 08:46:28 +02:00 |
|
Daniel Kirchner
|
226f8bb64d
|
Use imported cmake targets for boost.
|
2019-06-06 18:49:34 +02:00 |
|
Bhargava Shastry
|
f57439035a
|
Do not enclose string literal within double quotes before conversion to u256
|
2019-05-29 15:52:31 +02:00 |
|
chriseth
|
a3f721bbcc
|
Merge pull request #6583 from ethereum/reset_yulstringrepo
Reset YulStringRepository regularly
|
2019-05-28 14:20:53 +02:00 |
|
Bhargava Shastry
|
dbae0fa939
|
Reset Yul string repository before each compilation.
|
2019-05-28 13:12:39 +02:00 |
|
chriseth
|
cee1340113
|
Add mini-interpreter to check representation.
|
2019-05-28 11:35:07 +02:00 |
|
chriseth
|
6132f0aea9
|
Merge pull request #6800 from ethereum/skipEmptyDump
Skip empty entries in memory and storage dump.
|
2019-05-23 14:27:44 +02:00 |
|
chriseth
|
e5902c58a4
|
Merge pull request #6777 from sifmelcara/loop-cond-rewriter
[YulOpt] Implement ForLoopConditionIntoBody
|
2019-05-23 12:51:51 +02:00 |
|
chriseth
|
1ca3edf6a1
|
Remove side-effect-free instructions from the trace.
|
2019-05-23 12:42:11 +02:00 |
|
chriseth
|
3ef03258ec
|
Remove memory logging.
|
2019-05-23 12:42:11 +02:00 |
|
chriseth
|
91312e657b
|
Skip empty entries in memory and storage dump.
|
2019-05-23 12:27:56 +02:00 |
|
mingchuan
|
4ab377eb00
|
Add tests for ForLoopConditionIntoBody
|
2019-05-22 21:51:03 +08:00 |
|
Bhargava Shastry
|
804368bb51
|
First commit
|
2019-05-22 10:15:28 +02:00 |
|
chriseth
|
1dc15d5864
|
Modify parser and optimizer.
|
2019-05-20 17:32:56 +02:00 |
|
chriseth
|
4bdb981224
|
Make dialect const& and allocate single instances statically.
|
2019-05-17 12:54:24 +02:00 |
|
chriseth
|
570db164c9
|
Make Dialect const.
|
2019-05-16 21:51:54 +02:00 |
|
chriseth
|
dd4f9bf1a6
|
Really split structural simplifier.
|
2019-05-13 10:26:57 +02:00 |
|
Bhargava Shastry
|
495f7f9013
|
[Proto fuzzer] Add function calls, and multi variable declaration/assignment statements
|
2019-05-09 16:00:29 +02:00 |
|
Daniel Kirchner
|
76b88bdfd8
|
Allow test cases to indicate fatal errors.
|
2019-05-07 18:12:21 +02:00 |
|
Daniel Kirchner
|
0a99519142
|
Move gas cost tests from command line tests to interactive gas cost tests.
|
2019-05-07 18:12:21 +02:00 |
|
chriseth
|
18bc82e6fd
|
Fix interpreter exp bug.
|
2019-05-07 11:40:33 +02:00 |
|
chriseth
|
f113f8e4a0
|
Implement datasize, dataoffset and datacopy for yul interpreter.
|
2019-05-06 16:59:47 +02:00 |
|
Bhargava Shastry
|
2d1faf53be
|
Reset loop state (to default) before interpreting for-loop post block
|
2019-05-02 22:22:19 +02:00 |
|
Bhargava Shastry
|
a5524983f9
|
[Proto fuzzer]: Add terminating opcodes
|
2019-05-02 15:34:26 +02:00 |
|
Bhargava Shastry
|
ac7bfec2c0
|
Support generation of calldata, code, extcode and returndata opcodes
|
2019-05-02 10:14:25 +02:00 |
|
Bhargava Shastry
|
d894ffad16
|
Proto fuzzer: Add missing memory and log opcodes and fix visitation bug
for ternary ops
|
2019-04-30 14:18:00 +02:00 |
|
chriseth
|
1d5559c350
|
Merge pull request #6554 from ethereum/add-ternary-ops
ossfuzz: Generate addmod and mulmod builtin functions
|
2019-04-19 00:41:57 +02:00 |
|
Bhargava Shastry
|
836c466f09
|
ossfuzz: Generate addmod and mulmod builtin functions
|
2019-04-18 14:21:02 +02:00 |
|
Bhargava Shastry
|
68b7f40184
|
ossfuzz: Fixes buggy generation of duplicate case literals
|
2019-04-18 14:12:23 +02:00 |
|
chriseth
|
87a4ce2679
|
Merge pull request #6540 from ethereum/add-for-break-continue
Generate break and continue statements inside for loop body.
|
2019-04-18 12:57:40 +02:00 |
|
Bhargava Shastry
|
6f673f5e81
|
Generate break and continue statements inside for loop body.
|
2019-04-17 13:02:47 +02:00 |
|
chriseth
|
669df0d1e5
|
Allow more filters and rename member.
|
2019-04-17 12:00:01 +02:00 |
|
Erik Kundt
|
827e13a2d7
|
Refactors passing of options in isoltest.
|
2019-04-17 11:36:14 +02:00 |
|
Erik Kundt
|
11087422d6
|
Adds --test | -t option to isoltest.
|
2019-04-17 11:36:14 +02:00 |
|
Daniel Kirchner
|
a4fbb06c2a
|
Merge pull request #6491 from ethereum/increase-maxSteps-for-opt-yul
Increase upper bound for number of interpreted steps for optimized code
|
2019-04-12 12:34:47 +02:00 |
|
Bhargava Shastry
|
484c14af81
|
Increase upper bound for number of interpreted steps for optimized code
|
2019-04-10 12:57:54 +02:00 |
|
mingchuan
|
f1374066af
|
Add shortcuts for formatting error information
|
2019-04-10 18:44:45 +08:00 |
|
chriseth
|
ef413bb0b3
|
Throw exception to allow fuzzer to report which file it failed on.
|
2019-04-04 14:05:38 +02:00 |
|
Bhargava Shastry
|
762dd24784
|
Reference only those variables that are in scope.
|
2019-04-04 13:28:56 +02:00 |
|
Bhargava Shastry
|
f15cedad7a
|
yulInterpreter: More fine-grained exception handling
|
2019-04-04 13:02:55 +02:00 |
|
chriseth
|
aeb260cde1
|
Add settings framework for interactive tests.
|
2019-04-03 14:58:20 +02:00 |
|
Bhargava Shastry
|
0cc6e1cb08
|
Use default EVMVersion instead of a hard coded one
|
2019-04-02 11:40:59 +02:00 |
|
chriseth
|
e894e0b967
|
Merge pull request #6410 from ethereum/eliminate-dead-code
Yul Optimizer: Remove dead code
|
2019-04-01 18:12:47 +02:00 |
|
Mathias Baumann
|
e20acf5d0a
|
Yul Optimizer: Remove dead code
|
2019-04-01 17:16:04 +02:00 |
|
Mathias Baumann
|
30820dda99
|
Support multiple input files with solfuzzer
|
2019-04-01 16:57:32 +02:00 |
|
Mathias Baumann
|
101ca5c120
|
Fix --help parameter for solfuzzer
the `readStandardInput()` branch would be taken if "input-file" was not
given and only "help", thus never reaching the check for "help"
|
2019-04-01 15:50:34 +02:00 |
|
chriseth
|
3264e9abf0
|
Make optimiser settings available to assembly stack.
|
2019-03-28 18:24:13 +01:00 |
|
chriseth
|
2308904f68
|
Remove "using namespace" from header and move Instruction to dev::eth.
|
2019-03-28 13:48:11 +01:00 |
|
Bhargava Shastry
|
10c3b31fa4
|
yulInterpreter: Add timeout based on the number of interpreted statements.
|
2019-03-27 12:06:02 +01:00 |
|
Bhargava Shastry
|
b3c3a1f9cd
|
Use visitor pattern for proto converter.
|
2019-03-26 16:39:44 +01:00 |
|
Bhargava Shastry
|
ef94d6d645
|
yul Interpreter: Move memory size limit to interpreter state.
|
2019-03-26 14:42:25 +01:00 |
|
Bhargava Shastry
|
a895ccba39
|
ossfuzz: Enable optimization in Assembly stack assembler call.
|
2019-03-26 13:42:51 +01:00 |
|
Bhargava Shastry
|
d1d3dd8571
|
yul proto: Add support for generating string and hex literals.
|
2019-03-21 12:25:52 +01:00 |
|
Bhargava Shastry
|
22f5a82edc
|
yul proto: Add support for generating for and switch statements.
|
2019-03-20 18:50:27 +00:00 |
|
Bhargava Shastry
|
6c1d0b62b5
|
Adds oss-fuzz harnesses to fuzz AssemblyStack API calls for parsing/optimizing StrictAssembly and generating EVM bytecode.
|
2019-03-20 16:06:45 +01:00 |
|
chriseth
|
8514c0bc60
|
Provide max iterations for stack compressor as parameter.
|
2019-03-20 15:07:05 +01:00 |
|
chriseth
|
38cbf8d230
|
Pass "optimize stack allocation" flag down to the stack compressor.
|
2019-03-20 15:03:27 +01:00 |
|
chriseth
|
304ef77b4a
|
Merge pull request #6300 from ethereum/extractedTestsEVMVersionRules
Support EVM Version rules for extracted tests.
|
2019-03-18 15:29:04 +01:00 |
|
Daniel Kirchner
|
a178486436
|
Review suggestions.
|
2019-03-18 14:34:00 +01:00 |
|
chriseth
|
834c23fc38
|
Merge pull request #6289 from ethereum/strictasm_fuzzer_ascii_only
Discard fuzz input containing non ASCII character(s).
|
2019-03-18 11:44:06 +01:00 |
|
Bhargava Shastry
|
725fc898fd
|
Discard fuzz input containing at least one character not in the following set: "isprint"able, newline, and horizontal
Co-Authored-By: bshastry <bshastry@ethereum.org>
|
2019-03-18 10:36:43 +01:00 |
|
Daniel Kirchner
|
4a28e1eb43
|
Support EVM Version rules for extracted tests.
|
2019-03-15 17:23:20 +01:00 |
|
Bhargava Shastry
|
5e8ed426df
|
Add more binary operations to the yul proto spec.
|
2019-03-14 22:26:25 +01:00 |
|
Bhargava Shastry
|
5681086d2c
|
Proto spec and translator bug fixes.
|
2019-03-14 15:40:54 +01:00 |
|
chriseth
|
db379403fc
|
Fix assertion in yul interpreter.
|
2019-03-13 20:58:15 +01:00 |
|
Christian Parpart
|
05e2d362c8
|
[Yul] Adds break/continue statements and some general tests for for-loop syntax.
|
2019-03-11 15:05:05 +01:00 |
|
Bhargava Shastry
|
54d0d153fa
|
Reduce input file size for solc and constant optimizer fuzzers.
|
2019-03-06 11:35:22 +01:00 |
|
chriseth
|
4740dc62df
|
Merge pull request #6193 from ethereum/yul-opt-different-types-6181
YulOpt: Extend StructuralSimplifier to work with all types
|
2019-03-05 19:11:13 +01:00 |
|
Mathias Baumann
|
921d52bfcd
|
Move Literal to u256 conversions to extra functions
That way we can reuse them at different places
|
2019-03-05 18:39:27 +01:00 |
|
Bhargava Shastry
|
a370551ea2
|
ossfuzz: Reduce test input size to less than equal to 600 bytes.
|
2019-03-05 16:55:55 +01:00 |
|
Bhargava Shastry
|
d9bcbe6ad5
|
LibProtobuf Mutator (LPM) based fuzzer for yul subset
|
2019-03-05 12:32:55 +01:00 |
|
chriseth
|
bbda89c428
|
Create a differential fuzzer using tracing facility from the yul interpreter.
|
2019-03-04 20:44:17 +01:00 |
|
chriseth
|
38831e885d
|
Merge pull request #5855 from ethereum/cp
[Yul] Variable Name Canonicalization
|
2019-03-04 17:58:45 +01:00 |
|
Christian Parpart
|
609855546e
|
Yul: Adds optimizer pass to make variable names suffix-canonical.
|
2019-03-04 17:26:56 +01:00 |
|
chriseth
|
9a949c1bda
|
Set default EVM version to Petersburg.
|
2019-03-04 14:53:00 +01:00 |
|
Alex Beregszaszi
|
ecd246aeb6
|
Support petersburg in evmVersion
|
2019-03-04 14:10:41 +01:00 |
|
Bhargava Shastry
|
c48cc19fae
|
yulInterpreter: Fix u256 overflow in logMemory.
|
2019-02-28 16:42:50 +01:00 |
|
chriseth
|
5123a2afa7
|
Allow positional arguments for yulrun.
|
2019-02-27 11:44:09 +01:00 |
|
chriseth
|
514c9910aa
|
Fix implementation of signextend.
|
2019-02-26 17:56:32 +01:00 |
|
Erik Kundt
|
e4182e2add
|
Fixes wrong EVMVersion namespace in yulrun.
|
2019-02-25 15:56:17 +01:00 |
|
chriseth
|
70bbdd8fac
|
Merge pull request #3464 from ethereum/iulia_interp
Yul interpreter
|
2019-02-25 15:38:41 +01:00 |
|
Leonardo Alt
|
2405b2151a
|
EVMVersion in langutil namespace instead of solidity
|
2019-02-25 15:29:57 +01:00 |
|
chriseth
|
cc88c517a2
|
Review changes.
|
2019-02-25 11:58:37 +01:00 |
|
Bhargava Shastry
|
d564c24f30
|
POP is actually a valid instruction.
|
2019-02-25 11:58:37 +01:00 |
|
chriseth
|
0e471ab811
|
Review comments.
|
2019-02-25 11:58:37 +01:00 |
|
chriseth
|
5eb155b894
|
Interpreter tests.
|
2019-02-25 11:58:36 +01:00 |
|
chriseth
|
e91be8222c
|
Yul interpreter executable.
|
2019-02-25 11:57:48 +01:00 |
|
chriseth
|
0c432a861c
|
Yul interpreter.
|
2019-02-25 11:57:48 +01:00 |
|
chriseth
|
7f5b335b47
|
Make EVM version part of EVM dialect.
|
2019-02-21 21:59:46 +01:00 |
|
chriseth
|
6a1e339b9d
|
Merge pull request #6068 from ethereum/fix-no-color
Fix isoltest --no-color option
|
2019-02-21 17:08:10 +01:00 |
|
chriseth
|
98012135c6
|
Merge pull request #6060 from ethereum/soltest-formatting
[soltest] Create dedicated formatting
|
2019-02-21 16:43:50 +01:00 |
|
Mathias Baumann
|
7a40088d95
|
Fix isoltest --no-color option
|
2019-02-21 16:42:23 +01:00 |
|
Erik Kundt
|
d1ad431887
|
Moves soltest function call to separate class.
|
2019-02-21 16:39:31 +01:00 |
|
Mathias Baumann
|
1672902abb
|
Unify isoltest and soltest options code
Also provide a default value for ipc-path, which is the same one as aleth uses.
|
2019-02-21 14:04:39 +01:00 |
|
Mathias Baumann
|
f4110b295b
|
Use env variable to get IPC path for isoltest
|
2019-02-21 13:27:24 +01:00 |
|
Erik Kundt
|
dacad629ef
|
Adds semantic tests to test framework and isoltest.
|
2019-02-15 13:27:15 +01:00 |
|
Erik Kundt
|
190634e1f9
|
Implements infrastructure for semantic tests.
|
2019-02-13 13:05:58 +01:00 |
|
chriseth
|
91d224dfb6
|
Merge pull request #5966 from ethereum/AnsiColorized
Adapts tests/ to use AnsiColorized (the generalized/moved version of FormattedScope, which in turn is removed in this PR)
|
2019-02-11 16:41:14 +01:00 |
|
Christian Parpart
|
53f9be8a23
|
Adapts tests/ to use AnsiColorized (the generalized/moved version of FormattedScope, which in turn is removed in this PR)
|
2019-02-11 16:00:24 +01:00 |
|
chriseth
|
83083d2208
|
Stack compressor.
|
2019-02-11 15:48:29 +01:00 |
|
Bhargava Shastry
|
4cac45dc4a
|
Add fuzzer config files for oss-fuzz and a solidity fuzzing dictionary.
Update ossfuzz README.md.
|
2019-02-04 15:58:41 +01:00 |
|
chriseth
|
bb46e91677
|
Merge pull request #5891 from ethereum/const-opt-assembly
Take only Assembly instance as an input to ConstantOptimiser
|
2019-01-31 18:54:12 +01:00 |
|
Alex Beregszaszi
|
ae1cd252b0
|
Take only Assembly instance as an input to ConstantOptimiser
|
2019-01-31 16:02:29 +00:00 |
|
Alex Beregszaszi
|
554511b68e
|
Introduce solidity_free in libsolc
|
2019-01-31 15:53:55 +00:00 |
|
Alex Beregszaszi
|
1276f3c4f3
|
Clean up includes in the fuzzer
|
2019-01-29 16:14:51 +00:00 |
|
Alex Beregszaszi
|
0e2b43e141
|
Pass by reference in fuzzer
|
2019-01-29 16:14:48 +00:00 |
|
Alex Beregszaszi
|
c537321309
|
Add more debuggin in the fuzzer
|
2019-01-29 16:08:25 +00:00 |
|
Alex Beregszaszi
|
c19afd5ad3
|
Fix fuzzer_common to keep assembly intact
|
2019-01-28 16:18:49 +00:00 |
|
Alex Beregszaszi
|
06998bc8e1
|
Run constant optimiser on fresh inputs in the fuzzer
|
2019-01-28 10:40:33 +00:00 |
|
Bhargava Shastry
|
24b1de7df0
|
This PR refactors and shares oss-fuzz specific test harness code with the afl fuzzer harness. ChangeLog updated.
|
2019-01-23 11:06:25 +01:00 |
|
Daniel Kirchner
|
29f66b2674
|
Stabilize SSAReverser.
|
2019-01-17 21:05:32 +01:00 |
|
Daniel Kirchner
|
6de2d92f20
|
Add SSAReverser to the yul optimiser.
|
2019-01-17 20:37:43 +01:00 |
|
Daniel Kirchner
|
81f24f24e6
|
Add equivalent function combiner as Yul optimizer step.
|
2019-01-15 17:21:03 +01:00 |
|
chriseth
|
5b73c2ae3b
|
Take special functions that require literals into account.
|
2019-01-07 17:23:38 +01:00 |
|
chriseth
|
9222eff08f
|
Make the dialect available everywhere.
|
2019-01-07 16:41:03 +01:00 |
|
chriseth
|
2e9c70add0
|
Use rematerializer if variable is unreferenced or value is "cheap".
|
2019-01-07 14:03:32 +01:00 |
|
chriseth
|
bc22a25a60
|
Remove VarDeclPropagator.
|
2018-12-13 16:51:10 +01:00 |
|
chriseth
|
fb3a0ac1c7
|
Codegen for object access.
|
2018-12-11 19:24:44 +01:00 |
|
Mathias Baumann
|
55d7d327c4
|
Have only one source where testsuits are defined
|
2018-12-10 16:49:33 +01:00 |
|
Daniel Kirchner
|
1eb60cbb39
|
Add structural simplifier as optimization step for Yul.
|
2018-12-06 18:37:35 +01:00 |
|
chriseth
|
b7cfa499b0
|
Add tests.
|
2018-12-06 14:43:14 +01:00 |
|
chriseth
|
0e8841005c
|
Merge pull request #5554 from ethereum/cp-SourceReferenceFormatter-refactor
[2/3] Refactor SourceReferenceFormatter (split-out data extraction & make use of new SourceLocation knowledge)
|
2018-12-06 14:01:39 +01:00 |
|
Christian Parpart
|
073b03d90c
|
liblangutil: refactor SourceReferenceFormatter, splitting out retrieval and making use of new SourceLocation's CharStream knowledge
|
2018-12-06 14:01:01 +01:00 |
|
Mathias Baumann
|
6e5160efa0
|
Relax assertion about jumps in loose mode
|
2018-12-05 10:25:59 +01:00 |
|
chriseth
|
99db4e3ff4
|
Introduce the concept of builtin functions.
|
2018-12-04 12:06:33 +01:00 |
|
Christian Parpart
|
435f7b3b72
|
liblangutil: Scanner: remove superfluous sourceName field (it's in CharStream already)
Also, ParserBase::sourceName() was dead code. Eliminating it should
increase test coverage (how sneaky) :-)
|
2018-11-30 17:07:17 +01:00 |
|
Christian Parpart
|
22eff22492
|
liblangutil: extends CharStream to know about the respective (file-)name (and adapt codebase to it)
|
2018-11-29 12:45:27 +01:00 |
|
chriseth
|
0b474d5299
|
Merge pull request #5497 from ethereum/langutil-SourceReferenceFormatter
Moving SourceReferenceFormatter into langutil namespace.
|
2018-11-26 12:44:25 +01:00 |
|
Lazaridis
|
56d5dd4668
|
decouple TestCase class from test/libsolidity
|
2018-11-25 02:34:59 +02:00 |
|
Christian Parpart
|
aeb66905de
|
Moving SourceReferenceFormatter into langutil namespace.
|
2018-11-24 12:33:36 +01:00 |
|
chriseth
|
9a94e503da
|
Merge pull request #5491 from ethereum/libyul-as-library
Libyul as static library (version 3 ;( )
|
2018-11-23 17:01:18 +01:00 |
|
Christian Parpart
|
ec47c8946b
|
Isolating libyul library API into its own namespace yul .
|
2018-11-23 14:29:00 +01:00 |
|