chriseth
85b0cfea9a
Merge pull request #3308 from ethereum/usereturndatacopy
...
Use returndatacopy for retrieving dynamically sized outputs.
2018-03-21 18:12:41 +01:00
Alex Beregszaszi
8fd53c1c03
Merge pull request #3744 from ethereum/useUsrBinEditor
...
Use /usr/bin/editor if exists.
2018-03-21 15:28:21 +00:00
chriseth
cc0f70263f
Tests for returning dynamic data.
2018-03-21 14:53:29 +00:00
chriseth
c2709a2d8e
Decode dynamic data.
2018-03-21 14:53:29 +00:00
Daniel Kirchner
e68c19c47b
Only consider files ending with .sol and not starting with ~ in syntax tests.
2018-03-16 12:28:21 +01:00
chriseth
c9db105ad7
Extract scoping tests.
2018-03-16 00:47:32 +01:00
chriseth
ea8d5f8afc
Use /usr/bin/editor if exists.
2018-03-15 18:20:23 +01:00
Daniel Kirchner
50ad89d369
Only colour error type, not error message in isoltest.
2018-03-15 16:27:54 +01:00
Daniel Kirchner
7fa892eca9
Add interactive test tool isoltest.
2018-03-15 16:23:49 +01:00
Daniel Kirchner
269241e910
Add formatted printing to SyntaxTest and expand its public interface.
2018-03-15 16:23:46 +01:00
chriseth
78abe81f08
Merge branch 'develop' into externalFunctionsInLibraries
2018-03-14 18:07:55 +01:00
chriseth
d0c96d53e9
Merge pull request #3734 from ethereum/soltestOptions
...
test: Rename test/TestHelper.* to test/Options.* and add Options::val…
2018-03-14 18:05:48 +01:00
chriseth
abc7a45230
Merge pull request #3725 from ethereum/blockhashNoCall
...
Allow ``block.blockhash`` without it being called.
2018-03-14 18:04:40 +01:00
Alex Beregszaszi
59658afa30
Merge pull request #3722 from ethereum/fixMods
...
Fix modifier lookup in libraries.
2018-03-14 17:20:51 +01:00
chriseth
c3f07b5294
Merge pull request #3730 from ethereum/docstringBug
...
DocStringParser: Fix error message for empty parameter description.
2018-03-14 16:21:29 +01:00
Daniel Kirchner
d63d41b3b5
test: Rename test/TestHelper.* to test/Options.* and add Options::validate().
2018-03-14 12:04:04 +01:00
Daniel Kirchner
1882c508c6
soltest: force the use of the --testpath option for soltest with an explicit error.
2018-03-14 10:45:01 +01:00
Daniel Kirchner
9d079fd126
DocStringParser: Add Changelog entry and test case for empty descriptions.
2018-03-14 10:34:16 +01:00
Daniel Kirchner
09420f1a44
Store filenames in static variable to guarantee sufficient lifetime.
2018-03-13 18:14:57 +01:00
chriseth
834d63de2c
Allow `block.blockhash
` without being called.
2018-03-13 17:34:21 +01:00
chriseth
eecc26deec
Make external library functions accessible.
2018-03-13 17:18:46 +01:00
chriseth
51f9e350b1
Tests.
2018-03-13 16:55:41 +01:00
chriseth
58af150c3d
Changelog entry.
2018-03-13 16:55:41 +01:00
Daniel Kirchner
7091b6c8b5
Minor adjustments.
2018-03-13 12:30:56 +01:00
Daniel Kirchner
3232561d97
Refactoring; fuse SyntaxTestParser and SyntaxTester to SyntaxTest.
2018-03-13 11:20:11 +01:00
Daniel Kirchner
317c1f7fa3
Workaround for boost < 1.59.0
2018-03-13 11:20:11 +01:00
Daniel Kirchner
49eaf7c3fd
Infrastructure for extracting syntax tests in separate test files.
2018-03-13 11:20:11 +01:00
Leonardo Alt
c2d26eb6a2
[SMTChecker_Bool] Fix PR comments; Add support to gt, ge, lt, le. and tests.
2018-03-12 20:16:47 +01:00
Leonardo Alt
6a940f0a99
[SMTChecker] Support to Bool variables
2018-03-12 20:16:47 +01:00
chriseth
886dc0512c
Merge pull request #3708 from ethereum/moveTestTools
...
Move test tools to the subdirectory test/tools and adjust CMakeLists
2018-03-12 20:09:07 +01:00
Daniel Kirchner
121f87b043
Move test tools to the subdirectory test/tools and adjust CMakeLists.txt.
2018-03-12 18:40:20 +01:00
Alex Beregszaszi
a59d6d2e53
Support constantinople in evm-version
2018-03-12 18:13:19 +01:00
chriseth
ea48d8ade3
Fix test.
2018-03-06 20:15:43 +01:00
Alex Beregszaszi
ba8819542f
Merge pull request #3611 from ethereum/warn-using-address-overload
...
Warn if using address overloads on contracts
2018-03-06 19:13:55 +01:00
chriseth
84d711fd1d
Tests for warnings/errors for loose assembly.
2018-03-06 17:45:34 +01:00
chriseth
fd1662d1c4
Warn about using loose inline assembly features as experimental 0.5.0 feature.
2018-03-06 17:45:34 +01:00
Alex Beregszaszi
14b12ae745
Merge pull request #2966 from ethereum/useStaticCall
...
Use STATICCALL for pure function calls.
2018-03-06 17:07:03 +01:00
Alex Beregszaszi
83dacbf669
Merge pull request #3549 from ethereum/fixmultidim
...
Properly detect which array and struct types are unsupported by the old ABI encoder.
2018-03-06 15:51:17 +01:00
chriseth
a3593df43b
Test for using staticcall for view and pure functions.
2018-03-06 15:30:18 +01:00
chriseth
f6c0daec14
Merge pull request #3652 from ethereum/gasleft_v2
...
Use StaticAnalyzer to deprecate msg.gas instead of conditionally remo…
2018-03-06 09:26:14 +01:00
Daniel Kirchner
91b13b734d
Use StaticAnalyzer to deprecate msg.gas instead of conditionally removing it in MagicType.
2018-03-05 23:16:26 +01:00
chriseth
3793aa405b
Merge pull request #3643 from ethereum/gasleft
...
Move msg.gas to global function gasleft(). Closes #2971 .
2018-03-05 20:11:37 +01:00
Daniel Kirchner
2213f9946b
Improved gasleft tests.
2018-03-05 18:45:02 +01:00
Alex Beregszaszi
fd60c1cf86
Warn if using address overloads on contracts
2018-03-05 15:50:27 +01:00
Daniel Kirchner
29fb5fe1c9
Add test cases for shadowing gasleft with local functions/variables.
2018-03-05 13:28:57 +01:00
Daniel Kirchner
298bdeec49
Remove unstable test case.
2018-03-05 13:28:27 +01:00
chriseth
477571e190
Do not warn about 0.5.0 experimental pragma.
2018-03-05 12:14:44 +01:00
chriseth
6dc137317f
Merge pull request #3569 from ethereum/evmVersion
...
EVM version
2018-03-05 12:10:49 +01:00
chriseth
6ec4517929
Use EVM version in gas meter and optimizer.
2018-03-05 11:36:33 +01:00
Daniel Kirchner
c633c0eacb
Move msg.gas to global function gasleft(). Closes #2971 .
2018-03-05 11:18:04 +01:00
chriseth
5982869e94
Merge pull request #3633 from ethereum/reserved-keywords-test
...
Parser: Add test case for reserved keywords.
2018-03-02 11:41:21 +01:00
chriseth
f78d6a9a1e
Merge pull request #3628 from ethereum/literalsHexUnit
...
Deprecate using unit denominations in combination with hex numbers.
2018-03-02 11:11:16 +01:00
Daniel Kirchner
0f64648203
Parser: Add test case for reserved keywords.
2018-03-02 10:45:28 +01:00
Alex Beregszaszi
5a54cd5c70
Only warn for shift instructions if not using constantinople
2018-03-01 17:19:35 +01:00
chriseth
982476f99d
Add TangerineWhistle.
2018-03-01 17:19:35 +01:00
chriseth
7b0272ccfb
CREATE2 test fix.
2018-03-01 17:19:35 +01:00
chriseth
1e26011d2c
Returndatasize and staticcall test fixes.
2018-03-01 17:19:35 +01:00
chriseth
05cc5f22b2
Correctly set evm version in tests
2018-03-01 17:19:35 +01:00
chriseth
739533e9c7
Activate byzantium for testing.
2018-03-01 17:19:35 +01:00
chriseth
dc317a44e0
Provide EVM version to assembly analysis.
2018-03-01 17:19:35 +01:00
chriseth
a53d6b499d
Use EVM version in type checker.
2018-03-01 17:19:35 +01:00
chriseth
f2f61f1c2f
Test both EVM versions.
2018-03-01 17:19:35 +01:00
chriseth
60f7be5d4c
Some tests.
2018-03-01 17:19:35 +01:00
Daniel Kirchner
bd4c2b9bde
Deprecate using unit denominations in combination with hex numbers. Closes #3574 .
2018-03-01 16:58:55 +01:00
chriseth
7540763196
Tests for multi-dimensional arrays.
2018-03-01 14:28:27 +01:00
Alex Beregszaszi
b6dfd9ef54
Ensure that library addresses supplied are of correct length and hex prefixed in JSONIO
2018-03-01 12:03:56 +01:00
chriseth
9e3da89a7a
Merge pull request #3607 from izgzhen/complain-unknown-params
...
stop allow_guessing for command line option parser
2018-02-28 17:42:14 +01:00
chriseth
7938339572
Merge pull request #3617 from ethereum/jsonio-libraries
...
Add more comprehensive tests and checks for libraries in JSONIO
2018-02-28 17:40:29 +01:00
chriseth
fb8c4bd7c2
Merge pull request #3615 from ethereum/test-framework
...
Simplify contract compilation in the test framework
2018-02-28 16:35:22 +01:00
chriseth
22d26e059c
Merge pull request #3613 from ethereum/require-visibility
...
Issue error if no visibility is specified (on 0.5.0)
2018-02-28 16:33:39 +01:00
Alex Beregszaszi
7897301b71
Properly validate invalid hex characters in JSONIO libraries
2018-02-28 10:44:48 +01:00
Alex Beregszaszi
83fec0232d
Add more comprehensive tests and checks for libraries in JSONIO
2018-02-28 10:36:07 +01:00
Zhen Zhang
5fd9ea4b2a
Stop allow_guessing for command line option parser
2018-02-28 09:31:24 +08:00
Alex Beregszaszi
0346f72342
Use compileContract in contract tests
2018-02-27 20:08:24 +01:00
Alex Beregszaszi
029e19983c
Split compileContract off compileAndRunWithoutCheck in SolidityExecutionFramework
2018-02-27 20:08:24 +01:00
chriseth
908b46e9a7
Merge pull request #3476 from ethereum/scoping
...
C99/C++ scoping rules
2018-02-27 17:06:10 +01:00
Alex Beregszaszi
a566825589
Issue error if no visibility is specified (on 0.5.0)
2018-02-27 16:31:53 +01:00
Alex Beregszaszi
2abc5be7e6
Merge pull request #2541 from ethereum/asm-bitshift
...
Add bit shifting opcodes (EIP145)
2018-02-27 14:47:07 +01:00
Alex Beregszaszi
6512bfbcea
Merge pull request #3601 from ethereum/circleParallel
...
Parallelize tests on circle.
2018-02-27 13:54:45 +01:00
Alex Beregszaszi
73c5d99bfa
Add basic test for shift opcodes
2018-02-27 13:43:04 +01:00
chriseth
d64aa0eaad
Some more scoping tests.
2018-02-27 12:41:32 +01:00
chriseth
88a5c66f4a
Only active variables at the point of their declaration.
2018-02-27 12:17:25 +01:00
chriseth
6b9dda06f3
Enable C99-scoping with the 0.5.0-experimental pragma.
2018-02-27 12:17:25 +01:00
chriseth
0005990382
Tests for new scoping behaviour.
2018-02-27 12:17:25 +01:00
chriseth
69f5f2eb65
Adjust tests.
2018-02-27 12:17:25 +01:00
chriseth
6a83beaab5
Run tests in parallel on circle.
2018-02-27 12:08:27 +01:00
Alex Beregszaszi
5c0d82059f
Turn throw into a syntax error for 0.5.0
2018-02-27 02:10:24 +01:00
Alex Beregszaszi
b62d43912b
Merge pull request #3589 from ethereum/identifiers
...
Clean up type identifiers
2018-02-26 20:27:26 +01:00
Alex Beregszaszi
0736d91eaa
Add test for escapeIdentifier
2018-02-26 19:09:44 +01:00
chriseth
8ae6a76c58
Test data location of getter return type.
2018-02-26 11:17:32 +01:00
Alex Beregszaszi
4d1b969543
Use readStandardInput in the fuzzer
2018-02-23 09:05:04 +01:00
chriseth
b5a3b6a429
Parser test.
2018-02-22 15:17:43 +01:00
chriseth
ad010f557b
Tests for warnings.
2018-02-22 15:17:43 +01:00
chriseth
388718b59f
Introduce emit statement.
2018-02-22 15:17:30 +01:00
chriseth
c182284d28
Do not warn about analysis-only experimental features.
2018-02-22 14:50:20 +01:00
Alex Beregszaszi
ae02bb5aad
Raise error on oversized number literals in assembly
2018-02-22 01:02:19 +01:00
chriseth
98324d6c89
Merge pull request #3555 from ethereum/libraryTestCallInput
...
Provide proper input for test call.
2018-02-21 17:23:41 +01:00
chriseth
3076a434ba
Merge pull request #3554 from ethereum/reuseScannerOrNot
...
Expect end of string at end of top-level block for assembly parser.
2018-02-21 00:41:57 +01:00
chriseth
e2bf5de8a2
Expect end of string at end of top-level block for assembly parser.
2018-02-21 00:41:39 +01:00
Alexander Arlt
0f29ac4e56
Add new JSON API for better abstraction and for supporting strict JSON parsing
2018-02-20 21:58:26 +01:00
chriseth
89a8f4096c
Provide proper input for test call.
2018-02-20 19:31:26 +01:00
chriseth
3ba8af4fd5
Provide input for two optimizer tests.
2018-02-20 18:03:39 +01:00
chriseth
decfa0eed0
Test aliasing in shadowing.
2018-02-20 13:06:28 +01:00
chriseth
a680cbd474
Test `_offset
` for constants in inline assembly.
2018-02-19 19:22:39 +01:00
chriseth
abc23ac608
Merge pull request #3135 from federicobond/formatter-instance
...
Convert static SourceReferenceFormatter functions to member ones
2018-02-19 17:34:07 +01:00
Emilio Almansi
47a0e374e2
Fix indentation.
2018-02-19 16:45:38 +01:00
Emilio Almansi
ca6957da37
Added property _documentation_ to Function, Event, and Modifier definition classes.
2018-02-19 16:45:38 +01:00
Federico Bond
d7532f7b9c
Convert static SourceReferenceFormatter functions to member ones
2018-02-19 15:04:22 +01:00
Alexander Arlt
1d4547ab03
Minor improvement: check sources
...
- returns error, if "sources" is an array, an empty object or not defined
- Added new test-cases in test/libsolidity/StandardCompiler.cpp
2018-02-16 18:44:46 +01:00
chriseth
2b5a5a8669
Make addmod and mulmod revert if the last argument is zero.
2018-02-15 13:52:17 +01:00
chriseth
e08a206070
Disallow uninitialized storage pointers as experimental 0.5.0 feature.
2018-02-15 11:58:50 +01:00
chriseth
23484ba6a4
Merge pull request #3498 from ethereum/allowthisfselector
...
Allow `this.f.selector` to be pure.
2018-02-13 17:08:35 +01:00
Balajiganapathi S
8a491c77ba
Restructure code for alternative identifier suggestions
2018-02-13 15:00:15 +00:00
Balajiganapathi S
d123e777d3
Add tests for similarity routine
2018-02-13 14:59:36 +00:00
Balajiganapathi S
b1417b318f
Move string distance function to utils and format error message
2018-02-13 14:59:33 +00:00
Balajiganapathi S
2859834e58
Suggest alternatives when identifier not found.
2018-02-13 14:54:36 +00:00
chriseth
aea9e7fe54
Add tests for selectors for public variables.
2018-02-13 14:15:02 +01:00
Alex Beregszaszi
8f8ad3840e
Merge pull request #3349 from federicobond/number-improv
...
Avoid output messages size blow-up using huge bignums literals
2018-02-13 12:36:05 +00:00
chriseth
560fbd0df1
Always use shortened literal number representation.
2018-02-13 11:43:47 +01:00
chriseth
5916cf1e0a
Allow this.f.selector
to be pure.
2018-02-13 11:00:59 +01:00
chriseth
729c6a95f8
Merge pull request #3425 from jevogel/3301
...
Deprecate the var keyword in SyntaxChecker
2018-02-13 08:40:41 +01:00
chriseth
a75d4ec60e
Merge pull request #2818 from ethereum/testGnosis
...
Also test gnosis contracts.
2018-02-13 08:38:55 +01:00
Alex Beregszaszi
4876842f69
Replace fixed-version pragmas in Gnosis
2018-02-12 23:26:07 +00:00
chriseth
9956d1dd7b
Also test Gnosis contracts.
2018-02-12 23:26:03 +00:00
Federico Bond
a320ffeafd
Avoid output messages size blow-up using huge bignums literals
2018-02-12 22:53:33 +00:00
chriseth
1e09d6ba7b
Test for Mod-And rule.
2018-02-12 22:47:04 +00:00
Alex Beregszaszi
954903b505
Merge pull request #3489 from ethereum/fixZepplein
...
Fix some weird zeppelin tests.
2018-02-12 22:44:13 +00:00
Alex Beregszaszi
573aa01fd2
Adjust tests for multiple errors with the var keyword
2018-02-12 22:39:42 +00:00
Alex Beregszaszi
3ddbf1617f
Do not use var where not neccessary in tests
2018-02-12 22:37:35 +00:00
chriseth
8795036919
Merge pull request #3479 from ethereum/multiError
...
Support searching inside multiple errors.
2018-02-12 22:20:58 +01:00
chriseth
2ce2f08742
Fix some weird zeppelin tests.
2018-02-12 21:17:58 +00:00
chriseth
676cf52264
Support searching inside multiple errors.
2018-02-12 16:41:31 +01:00
Alex Beregszaszi
69e2f497ba
Merge pull request #3474 from ethereum/circle2
...
Split emscripten circle job into build and test.
2018-02-12 10:13:27 +00:00
Federico Bond
75a3a707a2
Fix segfault with undeclared array types
2018-02-11 21:40:41 -03:00
chriseth
937f16afef
Handle version for solcjs tests.
2018-02-09 18:24:12 +01:00
chriseth
981ff308ec
Split solcjs and external tests.
2018-02-09 18:24:12 +01:00
chriseth
9b61fb2e99
Merge pull request #3456 from ethereum/simplifier
...
Use simplification rules also for IULIA
2018-02-08 16:50:17 +01:00
chriseth
9429e18dda
Fix tests for old precompiler.
2018-02-07 19:23:47 +01:00
chriseth
5523296eaa
Also apply simplification rules that require multiple identical sub-expressions.
2018-02-06 22:51:30 +01:00
chriseth
f7392cc698
Tests.
2018-02-06 22:51:30 +01:00
chriseth
9eea3f29ba
Expression simplifier.
2018-02-06 22:51:30 +01:00
chriseth
d7863e2054
Test about recursively calling functions.
2018-02-06 14:50:39 +00:00
chriseth
a7ae7c6d04
Tests for functional inliner.
2018-02-06 14:50:39 +00:00
chriseth
e7ef227226
Function inliner.
2018-02-06 14:50:33 +00:00
chriseth
4bd9bcbc77
Tests for inlinable function filter.
2018-02-06 14:48:47 +00:00
chriseth
c0abddc9dc
Test for self-referring assignment.
2018-02-06 12:58:51 +01:00
chriseth
669b63ca5f
Test not to remat if the expression is too large.
2018-02-06 12:38:32 +01:00
chriseth
773be40c19
Reassign test for remat.
2018-02-06 12:38:32 +01:00
chriseth
e100af592b
Fix for rematerializer.
2018-02-06 12:31:43 +01:00
chriseth
22c4d282aa
Only substitute if all referenced variables are in scope.
2018-02-06 12:31:43 +01:00
chriseth
30e6f69bfd
Tests for rematerialiser.
2018-02-06 12:31:43 +01:00
Alex Beregszaszi
33b27258e4
Add more tests for UnusedPruner
2018-02-06 10:15:41 +00:00
Alex Beregszaszi
2cbbe58281
Support variable declarations without assignment in UnusedPruner
2018-02-06 10:07:00 +00:00
chriseth
b0407cfac0
Unused variable and function remover.
2018-02-05 16:43:39 +00:00
Alex Beregszaszi
32300ea3ff
Merge pull request #3360 from federicobond/nonfatal-reference-errors
...
Replace some fatal errors when resolving references with normal ones
2018-02-04 13:07:55 +00:00
Federico Bond
aef9518039
Add more test cases for reference resolving error handling
2018-02-02 14:09:32 -03:00
Federico Bond
600e66e605
Replace some fatal errors when resolving references with normal ones
2018-02-02 14:09:32 -03:00
Alex Beregszaszi
b545987ec7
Issue warning for using public visibility for interface functions
2018-02-01 10:28:00 +00:00
chriseth
6807010dc7
Prevent libraries from being called.
2018-01-19 16:27:44 +01:00
Alex Beregszaszi
8b20a7cd53
Disallow non-functional instructions in parseExpression early
2018-01-10 14:16:46 +01:00
Alex Beregszaszi
42f8875770
Show restricted instruction warning before argument mismatch issue
2018-01-08 00:39:22 +00:00
chriseth
767052f2f7
Tests for strict mode.
2018-01-06 03:28:21 +00:00
chriseth
124190336b
Split inline assembly into loose and strict flavours.
2018-01-06 01:23:38 +00:00
chriseth
bca01f8f68
Merge pull request #3382 from ethereum/julia-identifier-parser
...
Support some restricted tokens (return, byte, address) as identifier in Julia
2018-01-06 00:02:21 +01:00
Alex Beregszaszi
a91393f4d7
Support some restricted tokens (return, byte, address) as identifiers in Julia
2018-01-05 15:53:49 +00:00
Alex Beregszaszi
9e7e312fdf
Properly support library file names containing a colon (such as URLs).
2018-01-05 13:24:07 +00:00
Leonardo Alt
d0abc5359b
[SMTChecker] Variables are merged after branches (ite variables)
2018-01-04 18:20:12 +01:00
chriseth
7f4cf00f1b
Provide easy way to update source location expectation.
2018-01-04 14:29:03 +01:00
Alex Beregszaszi
2cdd789b5d
Merge pull request #3297 from ethereum/separate_expression_and_statement
...
Separate expression and statement
2018-01-04 12:04:19 +00:00
Alex Beregszaszi
8901b38959
Merge pull request #3369 from ethereum/jsonio-colon
...
Properly handle colons in file names within jsonio
2018-01-04 11:58:29 +00:00
Federico Bond
a0771691ff
Improve error message for wrong struct initialization ( #3359 )
2018-01-04 11:24:39 +01:00
Alex Beregszaszi
ff9fdfac57
Properly handle colons in file names within jsonio
2018-01-03 15:44:03 +00:00
Alex Beregszaszi
fdbe78a769
Remove truffle patching introducing in f77480c
as upstream has merged the changes ( #3370 )
2018-01-03 15:32:08 +01:00
Alex Beregszaszi
55752db956
Merge pull request #3342 from ethereum/jsonio-sourcelocation
...
Populate the sourceLocation field properly in standard JSON on errors
2017-12-18 14:32:23 +00:00
chriseth
dbad74ac1b
Merge pull request #3279 from ethereum/function_hoister
...
Function hoister
2017-12-18 15:08:13 +01:00
chriseth
97100516a7
Merge pull request #3331 from ethereum/instruction_mover
...
Function Grouper
2017-12-18 14:57:12 +01:00
Alex Beregszaszi
add4cde68c
Populate the sourceLocation field properly in standard JSON on errors
2017-12-18 12:17:51 +00:00
chriseth
99c8ed075e
Function hoister.
2017-12-14 17:28:29 +01:00
chriseth
a6a64eb8ed
Function grouper.
2017-12-14 17:21:01 +01:00
chriseth
3d1830f3f2
Merge pull request #3232 from ethereum/simplifyConstant
...
Simplify ConstantEvaluator.
2017-12-14 16:14:46 +01:00
chriseth
ca0d244bf7
Adjust tests.
2017-12-13 12:28:15 +01:00
Yoichi Hirai
14707b27e2
Merge pull request #3183 from federicobond/fix-event-parsing
...
Fix event parsing. Refs #3175
2017-12-12 11:12:18 +01:00
chriseth
48c7ba72f3
Simplify ConstantEvaluator.
2017-12-12 09:44:18 +00:00
Alex Beregszaszi
7ff9a85592
Reduce the types of errors outputted by ConstantEvaluator
2017-12-12 09:40:29 +00:00
Alex Beregszaszi
5226d54ed1
Improve error message for constant evaluator
2017-12-12 09:39:26 +00:00
Alex Beregszaszi
1734d44561
Rename jsonCompiler to libsolc
2017-12-11 12:49:08 +00:00
Alex Beregszaszi
b32d7a84fc
Move some struct tests to require ABIEncoderV2
2017-12-11 02:42:09 +00:00
Alex Beregszaszi
d57afb20fa
Fix warning test for jumps in assembly
2017-12-05 20:27:50 +00:00
Alex Beregszaszi
bc875f6b9c
Warn for assembly labels too
2017-12-05 19:27:12 +00:00
chriseth
b582420b5f
Merge pull request #3219 from ethereum/disambiguator
...
Iulia disambiguator.
2017-12-05 14:42:20 +01:00
chriseth
30d7afc2e3
Simplify disambiguator.
2017-12-05 12:09:55 +01:00
chriseth
cba58629d2
Refactor iulia tests.
2017-12-05 12:09:55 +01:00
chriseth
861210f543
Disambiguator.
2017-12-05 12:09:52 +01:00
chriseth
6d609557b6
Fix test.
2017-12-04 12:57:36 +01:00
chriseth
00e252a39f
Another test for division.
2017-11-30 01:20:21 +01:00
chriseth
19e067465a
Unary operators and division.
2017-11-30 01:20:21 +01:00
Alex Beregszaszi
73d25c883f
Specify output selection in tests
2017-11-29 20:10:18 +00:00
chriseth
9d8e3ff395
Also test short input for old decoder.
2017-11-29 17:08:44 +01:00
chriseth
5a3dbb0269
Cleanup and overflow checks for data pointers.
2017-11-29 17:08:44 +01:00
chriseth
98c38108e8
Decoder tests.
2017-11-29 17:08:44 +01:00
chriseth
f77480cd88
Patch truffle to ignore pre-release compiler warning.
2017-11-27 17:13:25 +01:00
chriseth
a1f59cbb17
Merge pull request #3220 from ethereum/IuliaIf
...
If statement for Iulia / Inline Assembly
2017-11-27 09:02:46 -05:00
chriseth
1d91b65b72
Force condition to be bool in iulia mode.
2017-11-23 18:52:04 +01:00
Federico Bond
14fd647b85
Fix event parsing. Refs #3175
2017-11-22 23:08:12 -03:00
Alex Beregszaszi
ea18bed319
Merge pull request #3235 from ethereum/explicit-tests
...
Improve expected test errors for some old cases
2017-11-22 17:05:01 +00:00
Alex Beregszaszi
4c50d3f8e1
Improve expected test errors for some old cases
2017-11-22 15:41:07 +00:00
chriseth
9232cd2621
Tests.
2017-11-22 16:27:32 +01:00
chriseth
6dbc34e16e
If statement for Iulia / inline assembly.
2017-11-22 16:25:24 +01:00
Kwang Yul Seo
4876c58f91
success(text) -> CHECK_SUCCESS(text)
...
success(text) does not assert the result. Use CHECK_SUCCESS macro.
2017-11-22 23:07:42 +09:00
chriseth
19d5c42429
For loop.
2017-11-22 02:35:34 +00:00
chriseth
5e2c066778
Test for multi-branches.
2017-11-22 02:35:34 +00:00
chriseth
95a65dc04c
Fix boolean constants.
2017-11-22 02:35:34 +00:00
chriseth
90fb14f525
Tests.
2017-11-22 02:35:34 +00:00
chriseth
e5de4a66ed
Tests.
2017-11-22 02:35:34 +00:00
Alex Beregszaszi
455e51a608
Improve cyclic constant error message
2017-11-22 02:11:22 +00:00
Balajiganapathi S
d102deaec9
Detect cyclic constant definitions
2017-11-22 02:07:56 +00:00
Balajiganapathi S
c0b4969451
Add more tests for constant var as array lengths
2017-11-22 01:41:50 +00:00
Balajiganapathi S
165857b1d4
Allow constant integer variables as array lengths.
2017-11-22 01:41:46 +00:00
Alex Beregszaszi
53796c0fe8
Add tests for getChecksummedAddress
2017-11-17 00:46:45 +00:00
Alex Beregszaszi
f7249abe28
Extend address checksum tests
2017-11-17 00:46:45 +00:00
Federico Bond
3cd6ac418a
Add missing name resolver tests
2017-10-26 14:13:33 -03:00
Alex Beregszaszi
cacc0e4b46
Merge pull request #2607 from federicobond/better-error-output
...
cmdlineTests: print solc output instead of contract code on error
2017-10-24 12:16:55 +01:00
Boris Kostenko
3c91564dd9
Include modexp precompile in genesis for testing ( #3114 )
2017-10-24 10:42:48 +01:00
Alex Beregszaszi
dcbcd36be7
Do not use the precompile address 0x05 in the wallet tests (but a randomized address)
2017-10-23 20:20:32 +01:00
Alex Beregszaszi
faa0a662c7
Always create the correct account even if gaps are needed
2017-10-20 14:23:37 +01:00
Alex Beregszaszi
81e9c679c4
Add helper RPCSession::createAccount
2017-10-20 14:23:37 +01:00
Alex Beregszaszi
3a8324266f
More detailed errors for invalid array lengths (such as division by zero).
2017-10-20 11:59:18 +01:00
chriseth
4e7d1440ab
Merge pull request #3101 from ethereum/compilerstack-header
...
Remove the reliance on empty contract name equals "last contract" in CompilerStack
2017-10-19 13:43:17 +02:00
chriseth
892c3ef8ef
Merge pull request #3111 from ethereum/test-close-failure
...
Close IPC socket on connect failure
2017-10-19 13:33:40 +02:00
Alex Beregszaszi
362615c9c4
Close IPC socket on connect failure
2017-10-19 11:12:46 +01:00
chriseth
c58d9d2c42
Merge pull request #3106 from ethereum/test-cleanup
...
Move contract related code to test/contracts
2017-10-19 11:15:49 +02:00
Alex Beregszaszi
10677125ae
Turn usage of callcode into an error as experimental 0.5.0 feature
2017-10-19 02:20:30 +01:00
Alex Beregszaszi
4ca160d9fb
Move contract related code to test/contracts
2017-10-19 00:12:50 +01:00
Alex Beregszaszi
2ce35b77be
Implement CompilerStack.lastContractName()
2017-10-18 23:54:32 +01:00
Alex Beregszaszi
039cc25b1f
Always require a contract/sourceName in CompilerStack
2017-10-18 23:32:33 +01:00
Jared Wasinger
9acc2ea711
Add test for each assembly opcode/instruction in LLL
2017-10-18 11:56:52 +01:00
Yoichi Hirai
fda8499c15
Merge pull request #3070 from ethereum/lll-assembly
...
lll: disallow useless PUSHn in assembly
2017-10-18 12:02:14 +02:00
chriseth
e854da1a8c
Merge pull request #2925 from ethereum/tuple-value-check
...
Validate each tuple literal
2017-10-18 11:59:40 +02:00
chriseth
58139e8613
Adjust tests.
2017-10-18 00:19:36 +02:00
chriseth
a3db1fc197
Do not accept truncated function selectors.
2017-10-17 23:17:36 +02:00
chriseth
8a8a71de84
Only check tuples for valid rational numbers if they have more than one element.
2017-10-17 19:14:49 +02:00
Alex Beregszaszi
c99d2aae04
Validate each tuple literal
2017-10-17 18:59:01 +02:00
chriseth
6001bd1406
Allocate one byte per memory byte array element instead of 32.
2017-10-16 22:29:31 +02:00
chriseth
7989fc4c35
Merge pull request #3077 from ethereum/optimze_pops
...
Assume peephole optimizer was successful if number of pops increased.
2017-10-16 22:11:45 +02:00
chriseth
082e7b6a9e
Allow `gas
` in view functions.
2017-10-16 13:28:44 +02:00
chriseth
7c94e5462a
Assume peephole optimizer was successful if number of pops increased.
2017-10-13 19:00:56 +02:00
Alex Beregszaszi
15517b571d
lll: disallow useless PUSHn in assembly
2017-10-13 02:04:36 +01:00
Yoichi Hirai
c35496bf4a
Merge pull request #3038 from ethereum/interface-external
...
Force interface functions as external (0.5.0)
2017-10-10 12:21:08 +02:00
Alex Beregszaszi
9ee619c9bb
Snarks test using Byzantium precompiles
...
* Snark tests.
* Verifying routine.
* Example proof.
* Update precompiled positions to Byzantium ruleset.
2017-10-09 11:09:20 +02:00
Alex Beregszaszi
c45e55675c
Force interface functions as external (0.5.0)
2017-10-06 13:48:38 +01:00
chriseth
094012dbb0
Merge pull request #3036 from ethereum/constant-eval-refactor
...
Refactor error reporting in ConstantEvaluator
2017-10-06 13:50:15 +02:00
Alex Beregszaszi
c28ed2a619
Add tests for ConstantEvaluator
2017-10-05 20:08:12 +01:00
Federico Bond
ae91510765
Improve cmdline error output
2017-10-05 15:48:14 -03:00
Alex Beregszaszi
b8be060b30
Ensure unused variables are not warned for in interfaces/abstract contracts
2017-10-05 19:31:53 +01:00
Federico Bond
eea88f33aa
Use local variables inside bash functions
2017-10-05 15:21:16 -03:00
Federico Bond
cd420dc0bc
cmdlineTests: print solc output instead of contract code on error
2017-10-05 15:21:16 -03:00
Alex Beregszaszi
81519845bc
Require location keyword for local variables (0.5.0)
2017-10-05 19:02:30 +01:00
chriseth
d0fa56a217
Merge pull request #2981 from ethereum/no-address-overload
...
Do not add members of address to contracts in experimental 0.5.0
2017-10-05 16:12:21 +02:00
Alex Beregszaszi
8b26d65b62
Merge pull request #3020 from ethereum/smt-functioncall
...
SMT should not crash on special function calls (typecast)
2017-10-05 14:04:16 +01:00
Alex Beregszaszi
6ba0c2bba8
Merge pull request #2982 from ethereum/encoderFixes
...
ABI encoder fixes and test.
2017-10-05 11:59:42 +01:00
Alex Beregszaszi
09276cb9d3
Do not add members of address to contracts in experimental 0.5.0
2017-10-05 11:42:34 +01:00
Alex Beregszaszi
10529e994f
SMT should not crash on typecast/structs
2017-10-05 11:41:11 +01:00
chriseth
54cf15ac4f
Merge pull request #2901 from ethereum/compiler-names
...
Provide optional list of contract names to CompilerStack.compile
2017-10-05 11:23:46 +02:00
Alex Beregszaszi
f86cd06b97
Add contract depedendency tests to standardcompiler
2017-10-05 09:53:43 +01:00
Alex Beregszaszi
a0394a1bfa
Restrict contracts compiled via outputSelection (but not the individual output details)
2017-10-04 20:30:14 +01:00
Federico Bond
76d3d24842
Do not consider shadowing in variable names inside event declarations
2017-10-04 13:30:26 -03:00
chriseth
f6fb7d96d3
Merge pull request #2990 from ethereum/someMoreSMTStuff
...
Basic SMT tests.
2017-10-04 14:56:24 +02:00
chriseth
30908415bf
Merge pull request #3013 from ethereum/evmasm-cleanup
...
Cleanup instruction / gasmeter
2017-10-04 11:33:16 +02:00
wadeAlexC
73f17876e9
Better error message when using fractional number as array size expressions
2017-10-03 22:01:58 +01:00
Federico Bond
2b82352692
Disallow non-pure constant state variables in 0.5.0
2017-10-03 15:30:16 +01:00
Alex Beregszaszi
4d1c48eeee
Remove duplicate EVMSchedule
2017-10-03 11:59:53 +01:00
Alex Beregszaszi
fe947006ff
Format chainparams fields properly in tests
2017-10-03 10:45:00 +01:00
Alex Beregszaszi
e7a1e1abe7
Merge pull request #2997 from federicobond/duplicate-events
...
Emit error when declaring event with same name and arguments twice
2017-10-02 20:21:16 +01:00
Alex Beregszaszi
d010d6300c
LLL: Add compiler tests
2017-10-02 12:44:34 +01:00
benjaminion
cafc0885c4
LLL: Tests for the proposed switch expression.
2017-10-02 12:01:15 +01:00
Federico Bond
6d95447955
Emit error when declaring event with same name and arguments twice
2017-09-29 19:17:31 -03:00
Rhett Aultman
e434437eb7
Unary + now a synax error (experimental 0.5.0)
...
The unary + was deprecated with a warning, but will be elevated to an
error in 0.5.0. This adds the syntax error for the 0.5.0 pragma, and
for a true 0.5.0 release we should consider removing the operator from
the parser.
2017-09-29 17:50:25 +01:00
Alex Beregszaszi
b1741b7735
Validate array length in type checker
2017-09-29 16:44:00 +01:00
chriseth
5028ccbe84
Tests for SMT checker.
2017-09-29 15:31:00 +02:00
chriseth
a1f3046647
Add SMT tests.
2017-09-29 12:44:39 +02:00
chriseth
08effa0af5
More verbose error messages.
2017-09-29 12:05:45 +02:00
chriseth
9d8edb46f2
Allow test frameworks to filter out some warnings.
2017-09-29 12:05:45 +02:00
Alex Beregszaszi
7cb4d714c7
Fix overload resolution when conflict is with members of address (balance, transfer, etc)
2017-09-28 13:57:19 +01:00
chriseth
acd70557cc
Test encoder for empty structs.
2017-09-27 17:55:04 +02:00
chriseth
2940964044
ABI encoder fixes and test.
2017-09-27 15:57:39 +02:00
Alex Beregszaszi
9ea812598d
Fix other test to use ABI_CHECK
2017-09-27 00:50:35 +01:00
chriseth
95ec2fd0b6
Fix encoded EndToEnd inputs.
2017-09-25 19:33:38 +02:00
Alex Beregszaszi
a72237f275
Merge pull request #2954 from wadeAlexC/develop
...
Better message for unexpected trailing commas in parameter lists
2017-09-25 15:36:34 +01:00
chriseth
8e4f242274
Improved error messages for EndToEnd tests.
2017-09-25 10:49:25 +01:00
wadeAlexC
0099911ace
Better error message for unexpected trailing comma in parameter lists
2017-09-25 10:42:01 +01:00
chriseth
a844bbda48
Cleanup test helper macros.
2017-09-22 16:17:28 +02:00
chriseth
8af298ade3
Merge pull request #2902 from ethereum/warn-obsolete
...
Warn about obsolete sha3/suicide calls
2017-09-20 18:00:40 +02:00
Alex Beregszaszi
3b813ed295
Support multiple assignment in inline assembly
2017-09-20 11:16:23 +02:00
Alex Beregszaszi
f958463416
Rename MiniMoustache to Whiskers in tests
2017-09-20 01:23:21 +01:00
Alex Beregszaszi
efa4598c23
Mark functions static
2017-09-20 01:23:21 +01:00
Alex Beregszaszi
1c0c5d923a
Mark constructors explicit
2017-09-20 01:23:21 +01:00
Alex Beregszaszi
aad829948a
Ensure parameter names match between headers and implementation
2017-09-20 01:23:21 +01:00
Alex Beregszaszi
ed1fd49ab0
Warn about obsolete sha3/suicide calls
2017-09-19 11:11:19 +01:00
Alex Beregszaszi
ada68bcee6
Add tests for constant bytes/strings
2017-09-18 22:25:50 +01:00
chriseth
3a9a9db6d6
Merge pull request #2910 from ethereum/fallback-restrict-external
...
Force fallback to be external (experimental 0.5.0 change)
2017-09-18 16:38:55 +02:00