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
Federico Bond
a320ffeafd
Avoid output messages size blow-up using huge bignums literals
2018-02-12 22:53:33 +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
676cf52264
Support searching inside multiple errors.
2018-02-12 16:41:31 +01:00
Federico Bond
75a3a707a2
Fix segfault with undeclared array types
2018-02-11 21:40:41 -03: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
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
add4cde68c
Populate the sourceLocation field properly in standard JSON on errors
2017-12-18 12:17:51 +00: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
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
a1f59cbb17
Merge pull request #3220 from ethereum/IuliaIf
...
If statement for Iulia / Inline Assembly
2017-11-27 09:02:46 -05: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
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
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
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
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
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
082e7b6a9e
Allow `gas
` in view functions.
2017-10-16 13:28:44 +02: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
Alex Beregszaszi
b8be060b30
Ensure unused variables are not warned for in interfaces/abstract contracts
2017-10-05 19:31:53 +01: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
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
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
efa4598c23
Mark functions static
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
Alex Beregszaszi
a3380ea8d0
Force fallback to be external (experimental 0.5.0 change)
2017-09-18 11:58:37 +01:00
chriseth
c001903cdc
Fixed tests with mappings in structs and added some more.
2017-09-16 12:31:13 +01:00
chriseth
c5063d3155
Use "tuple" for struct types in ABI JSON.
...
Only use tuple as a type in the ABI (and remove all "anonymous struct" references too)
2017-09-16 12:31:12 +01:00
chriseth
70d70e7816
Implement struct encoder.
2017-09-16 12:31:12 +01:00
chriseth
6385641f6e
Fix tests.
2017-09-16 12:31:12 +01:00
chriseth
44825d1c1e
Expect test to fail until implemented.
2017-09-16 12:12:44 +01:00
chriseth
7e1b9c1652
Structure type json using "components".
2017-09-16 12:12:44 +01:00
chriseth
36a90289e6
Fix interface type conversion internal to structs.
2017-09-16 12:12:43 +01:00
chriseth
823e67bf40
Tests for external signatures.
2017-09-16 12:12:43 +01:00
chriseth
080be885f8
Function signatures containing structs.
2017-09-16 12:12:43 +01:00
chriseth
22f85d5af3
Update tests and error messages.
2017-09-16 12:12:43 +01:00
chriseth
2e72bd163a
Allow structs as part of function interfaces.
2017-09-16 12:12:43 +01:00
chriseth
73771f5bb2
Named assembly labels.
2017-09-15 20:44:49 +01:00
Alex Beregszaszi
7dd372ce5c
Merge pull request #2904 from ethereum/viewPure5
...
Enforce view with error for experimental 0.5.0.
2017-09-14 18:13:56 +01:00
chriseth
24fd67b7db
Enforce view with error for experimental 0.5.0.
2017-09-14 17:53:43 +02:00
Alex Beregszaszi
67f96652f5
Update view/pure tests to contain mandatory visibility specifiers
2017-09-14 16:30:00 +01:00
Alex Beregszaszi
df8380193b
Update type tests to contain mandatory visibility specifiers
2017-09-14 16:29:39 +01:00
Alex Beregszaszi
71118e99fe
Fix view/pure warnings on selector tests
2017-09-13 18:48:21 +01:00
Alex Beregszaszi
5c9dbd5083
Merge pull request #2473 from ethereum/functiontype-sig
...
Add .selector member on function types
2017-09-13 17:35:48 +01:00
chriseth
3f3bcc4f8a
Merge pull request #2848 from ethereum/checkViewPure
...
Enforce view and pure.
2017-09-13 18:29:13 +02:00
Alex Beregszaszi
8b166c3636
Use hashing function in tests
2017-09-13 11:40:57 +01:00
Alex Beregszaszi
fd1f8ab38b
Rename .sig to .selector on function types
2017-09-13 11:40:57 +01:00
Alex Beregszaszi
88946f9f03
Add tests for function type sigs
2017-09-13 11:40:57 +01:00
Suman
10d290cb9b
Display helpful warning for unused function arguments/return parameters
2017-09-12 15:35:03 +01:00
Alex Beregszaszi
7ed938b95e
Change retrieveContract to take name and not index
2017-09-11 15:58:30 +01:00
chriseth
b756274357
Allow constant variables in pure functions.
2017-09-06 13:52:29 +02:00
chriseth
c83768c426
Fix tests
2017-09-06 13:52:29 +02:00
chriseth
1a1db1ec96
Tone down error message.
2017-09-06 13:52:29 +02:00
chriseth
d6861d909c
Analyze assembly.
2017-09-06 13:52:29 +02:00
chriseth
41d0ad7a9c
New tests for view and pure checker.
2017-09-06 13:50:49 +02:00
Alex Beregszaszi
50047bf82c
Change tests to use view or pure as appropriate
2017-09-06 13:50:49 +02:00
chriseth
311be6b659
Fix warning checking in test framework.
2017-09-06 12:19:11 +02:00
Alex Beregszaszi
3326a2282e
Change array too large error message as it is valid for non-calldata too
2017-09-05 22:38:45 +01:00
Alex Beregszaszi
6245d9aafc
Merge pull request #2846 from ethereum/refactorTests
...
Extract base from NameAndType and use compiler stack.
2017-08-29 14:27:37 +01:00
Alex Beregszaszi
c861817875
Add header for jsonCompiler
2017-08-29 13:43:55 +01:00
chriseth
4136ff9a59
Extract base from NameAndType and use compiler stack.
2017-08-29 14:05:38 +02:00
Alex Beregszaszi
0e11e5af10
Include all overloaded events in ABI
2017-08-28 20:07:43 +01:00
chriseth
122e65f8f4
Crash fix, parseTypeName can return null.
2017-08-28 15:13:02 +02:00
chriseth
372279ceb2
Merge pull request #2819 from ethereum/compilerstack-typecheck
...
Simplify typechecking loop in compilerstack
2017-08-25 19:38:15 +02:00
Alex Beregszaszi
8bc76ecf58
Update SolidityNameAndTypeResolution to match CompilerStack
2017-08-25 15:49:33 +01:00
Alex Beregszaszi
f6dba97fe1
Warn on using literals in tight packing
2017-08-25 14:16:50 +01:00
chriseth
d15526f877
Update tests.
2017-08-25 10:42:36 +01:00
Alex Beregszaszi
deeac7e2e0
Rename statemutability to stateMutability in ABI/AST
2017-08-24 15:23:00 +01:00
Alex Beregszaszi
e9a9a07d94
Add ABI test for pure function
2017-08-24 13:46:18 +01:00
Alex Beregszaszi
5668377c72
Introduce pure specifier on functions
2017-08-24 13:46:18 +01:00
chriseth
8af6f193bc
Merge pull request #2770 from ethereum/recursionInAsm
...
Also prevent too much recursion in the assembly parser.
2017-08-24 11:14:01 +02:00
Alex Beregszaszi
70bb1e7478
Update tests for view
2017-08-22 18:24:22 +01:00
Alex Beregszaszi
efe4d68a7b
Introduce view (and keep constant as an alias)
2017-08-22 18:24:22 +01:00
chriseth
97cb571ba4
Tests for recursion in JULIA.
2017-08-22 12:43:44 +02:00
chriseth
7b0046a9aa
Check inheritance specifier arguments for interfaces.
2017-08-22 11:39:50 +01:00
Alex Beregszaszi
b25f0c52ac
Reject the creation of interface with the new statement
2017-08-21 23:02:18 +01:00
Alex Beregszaszi
2c2ae74217
Merge pull request #2773 from ethereum/usingForWithoutLibrary
...
Fix crash related to ``using for`` without a library.
2017-08-21 19:47:57 +01:00
Alex Beregszaszi
4219acaba9
Merge pull request #2771 from ethereum/unused-includes
...
Remove some unused includes
2017-08-21 16:26:44 +01:00
chriseth
ec82706396
Fix crash related to `using for
` without a library.
2017-08-21 16:57:37 +02:00
chriseth
d270879c8f
Merge pull request #2748 from ethereum/natspec
...
Remove DocumentationType from natspec
2017-08-21 16:46:00 +02:00
chriseth
01b4bba0ed
Merge branch 'develop' into library-constructor
2017-08-21 16:34:59 +02:00
Alex Beregszaszi
b3986f1d07
Remove some unused includes
2017-08-21 14:08:58 +01:00
chriseth
2c5985de06
Be more strict about number literals in assembly.
2017-08-21 13:31:28 +02:00
Alex Beregszaszi
fe25bcf350
Library cannot have constructors
2017-08-21 11:03:55 +01:00
Alex Beregszaszi
a61c88e9fe
Use state mutability in override error messages
2017-08-16 17:23:09 +01:00
Alex Beregszaszi
a2aaa47ee2
Use state mutability in fallback/constructor check
2017-08-16 17:23:09 +01:00
Alex Beregszaszi
93be0dd923
FunctionType comparison/identifer to support all statemutability levels
2017-08-16 17:23:08 +01:00
chriseth
3d595d4b14
Warn about shift of literals.
2017-08-16 13:54:28 +02:00
Alex Beregszaszi
7222fac456
Remove DocumentationType from natspec
2017-08-15 19:56:38 +01:00
Alex Beregszaszi
1f5ab603a7
Add test for payable constructor in ABI
2017-08-15 11:35:50 +01:00
Alex Beregszaszi
12f3257e7d
Add statemutability field to the ABI
2017-08-15 11:35:50 +01:00
chriseth
32e43477c3
Prevent too deep recursion in parser.
2017-08-14 22:19:15 +02:00
chriseth
bcce31b548
Tests for recursion exploit in parser.
2017-08-14 18:58:56 +02:00
chriseth
2411f5d839
Merge pull request #2704 from ethereum/newEncoder
...
New ABI encoder
2017-08-14 17:04:00 +02:00
Alex Beregszaszi
b225bf5d53
Remove useless payable & constant typecheck
2017-08-14 14:21:47 +01:00
Alex Beregszaszi
1c1388f241
Update parser tests
2017-08-14 14:21:47 +01:00
chriseth
63b556b206
Test both encoders.
2017-08-14 13:11:42 +01:00
chriseth
38446a9669
ABI encoder tests.
2017-08-14 13:11:38 +01:00
chriseth
4d9790b6d5
Merge pull request #2703 from ethereum/warnAboutLargeStorageArrays
...
Warn about large storage structures.
2017-08-14 11:37:01 +02:00
Federico Bond
f0dc572055
Improve and add missing tests
2017-08-11 22:45:25 +01:00
chriseth
da3ac86403
Warn about large storage structures.
2017-08-11 20:57:57 +02:00
Federico Bond
a8c047f48d
Enforce commas in tuple syntax
2017-08-11 17:28:48 +01:00
Alex Beregszaszi
e3d1137d2b
Merge pull request #2712 from ethereum/experimental-metadata
...
Store experimental flag in metadata CBOR
2017-08-11 17:21:08 +01:00
Zhen Zhang
b5aeae0084
Amend expected test messages for SolidityNameAndTypeResolution
2017-08-11 16:45:52 +01:00
Alex Beregszaszi
2d1bab0de8
Output experimental flag in metadata only for risky features
2017-08-11 16:38:43 +01:00
Alex Beregszaszi
4d82d4f57a
Store experimental flag in metadata CBOR
2017-08-11 16:38:43 +01:00
Alex Beregszaszi
644c91fc2d
Add __test experimental mode for testing
2017-08-11 16:38:02 +01:00
Alex Beregszaszi
abe6eb9830
Merge pull request #2700 from ethereum/abiTests
...
Some more ABI tests.
2017-08-10 16:59:09 +01:00
chriseth
95acbc7a9f
Some more ABI tests.
2017-08-10 15:49:02 +02:00
Alex Beregszaszi
470950e75e
Add tests for experimental pragma
2017-08-10 00:15:25 +01:00
Alex Beregszaszi
efd45f64a5
Show previous visibility specifier in parser error
2017-08-09 14:30:17 +01:00
Alex Beregszaszi
a8ca623a0f
Add test for multiple visibilites on functions
2017-08-09 14:30:02 +01:00
Alex Beregszaszi
8df89c5d5b
Disable unimplemented library functions instead
2017-08-08 12:42:10 +01:00
Alex Beregszaszi
1ada48f61e
Raise error when using unimplemented internal library functions.
2017-08-08 11:58:00 +01:00
Alex Beregszaszi
bb0eb57c2f
Constructors must be implemented if declared.
2017-08-04 20:38:45 +01:00
Alex Beregszaszi
a372941a44
Merge pull request #2687 from ethereum/show-unimplemented-funcs
...
Show unimplemented function if trying to instantiate an abstract class
2017-08-04 19:46:09 +01:00
chriseth
eacc67c430
Three more tests for shadowing.
2017-08-04 19:08:20 +02:00
Alex Beregszaszi
32acadf43d
Do not mark overloaded functions as shadowing
2017-08-04 19:06:23 +02:00
Alex Beregszaszi
ef8c404c45
Fix tests to use unimplementedFunctions
2017-08-04 14:03:37 +01:00
chriseth
38e9505a83
Merge pull request #2673 from ethereum/builtin-gas
...
Disallow gas modifier on sha256/ripemd160/ecrecover
2017-08-04 14:43:15 +02:00
Alex Beregszaszi
b7642dc8a7
Disallow gas modifier on sha255/ripemd160/ecrecover
2017-08-01 20:55:01 +01:00
Alex Beregszaszi
f63bb0a442
Add test for call/callcode/delegatecall to invalid address
2017-08-01 20:51:52 +01:00
Alex Beregszaszi
b3061225bc
.delegatecall() should always return a boolean of execution status
2017-08-01 20:50:03 +01:00
Alex Beregszaszi
6ea4b7fa37
Add test for tight packing keccak256/sha256/ripemd160
2017-08-01 02:11:17 +01:00
Alex Beregszaszi
990b7364f5
Add test for disallowed gas/value modifiers on builtins
2017-08-01 00:03:25 +01:00
chriseth
b930ce5e2a
Fix import error check for release version.
2017-07-31 14:55:54 +02:00
chriseth
6dba8cf0f4
Use keccak256 instead of sha3
2017-07-28 16:57:34 +02:00
chriseth
368a8a62c1
Test case for invalid ecrecover call.
2017-07-28 15:32:42 +02:00
Alex Beregszaszi
53f747b7de
Merge pull request #2635 from ethereum/fixCrashOnAssignmentToNonLValue
...
Fix crash on assignment to non-LValue
2017-07-27 13:59:22 +01:00
chriseth
7c7c2baa82
Re-allow multiple modifiers per function.
2017-07-27 13:45:39 +02:00
chriseth
16977bab7d
Merge pull request #2650 from ethereum/metadata-test-fix
...
Fix metadata tests
2017-07-27 11:48:08 +02:00
Yoichi Hirai
241322e805
Merge pull request #2642 from ethereum/test-split-asm
...
Split off libevmasm specific optimiser tests
2017-07-27 11:29:33 +02:00
Alex Beregszaszi
ca28ce7d7b
Fix metadata tests
2017-07-27 10:26:57 +01:00
chriseth
1298a8df14
Merge pull request #2566 from ethereum/metadata-only-relevant
...
Metadata: only include relevant files in the source list
2017-07-27 11:07:15 +02:00
Alex Beregszaszi
8107177b9c
Split off libevmasm specific optimiser tests
2017-07-26 20:51:27 +01:00
chriseth
925569bfa3
Merge pull request #1637 from ethereum/warn-shadowing-globals
...
Warn if shadowing built-ins
2017-07-26 17:30:27 +02:00
Alex Beregszaszi
30012db396
Add CompilerStack::setOptimiserSettings
2017-07-26 15:17:07 +01:00
Alex Beregszaszi
6848199b66
Add CompilerStack::setLibraries
2017-07-26 15:05:16 +01:00
Alex Beregszaszi
fa5a7efb45
Remove unused interfaces from CompilerStack
2017-07-26 15:05:16 +01:00
chriseth
0d701c9456
Merge pull request #2603 from ethereum/test-jsoncompiler
...
Comprehensive tests for jsonCompiler
2017-07-26 14:41:24 +02:00
chriseth
b8fc58850d
Test for assigning to non-lvalue.
2017-07-26 14:32:25 +02:00
Alex Beregszaszi
e0dc74b895
Warn about shadowing variables.
2017-07-25 16:32:37 +02:00
chriseth
72917c4f35
Cleanup fixed point type changes
2017-07-19 22:13:42 +01:00
VoR0220
78769f3b39
Change fixed point types to have digit count
...
Signed-off-by: VoR0220 <rj@erisindustries.com>
2017-07-19 21:49:01 +01:00
Alex Beregszaszi
6d6d4f6907
Merge pull request #2334 from ethereum/printMultiError
...
Print information about types of errors.
2017-07-19 21:25:36 +01:00
Alex Beregszaszi
e506129aee
Add test and changelog
2017-07-19 07:19:01 -07:00
Alex Beregszaszi
35feb6d47c
Add tests for relevant metadata files
2017-07-19 14:57:12 +01:00
Alex Beregszaszi
55600f2c51
Add test for compileStandard
2017-07-19 13:45:00 +01:00
Alex Beregszaszi
bcd19456f4
Add test for compileSingle
2017-07-19 13:40:44 +01:00
Alex Beregszaszi
439b67e019
Add test for compileJSONCallback
2017-07-19 13:40:28 +01:00
chriseth
217a4ae7c1
Print information about types of errors.
2017-07-19 12:26:08 +01:00
Yoichi Hirai
2a46e1b0e2
Merge pull request #2589 from ethereum/rename-onchainmetadata
...
Rename onChainMetadata to metadata
2017-07-19 11:43:19 +02:00
Yoichi Hirai
becb7af4a2
Merge pull request #2597 from ethereum/modifier-internal
...
Mark modifiers as internal
2017-07-19 11:41:07 +02:00
Alex Beregszaszi
644de755dc
Mark modifiers as internal
2017-07-18 23:00:17 +01:00
Alex Beregszaszi
6d8929a71a
Rename onChainMetadata to metadata
2017-07-18 20:54:28 +01:00
Alex Beregszaszi
13edf1062f
Run metadata and gas meter tests when optimiser is on too
2017-07-18 20:22:00 +01:00
Alex Beregszaszi
075715cf15
Do not use obscure CompilerStack methods in tests
2017-07-18 16:14:25 +01:00
Alex Beregszaszi
6e4150a5cf
Test for version/license in jsonCompiler
2017-07-18 15:33:38 +01:00
Alex Beregszaszi
aec3eabdda
Add test for explicit type conversion literal string
2017-07-13 23:16:14 +02:00
Alex Beregszaszi
4229caaadc
Disable large arrays for memory location too
2017-07-13 22:47:35 +02:00
Alex Beregszaszi
e640bb2aed
Add tests for large calldata arrays
2017-07-13 22:47:35 +02:00
Alex Beregszaszi
b5da5f6e42
Merge pull request #2504 from ethereum/inlineasm-decl-empty
...
Support variable declarations without an assignment in assembly
2017-07-13 16:58:24 +02:00
chriseth
d1c3ecc94a
Merge pull request #2567 from ethereum/refactorExceptions
...
Refactor exceptions and provide comment function.
2017-07-13 16:56:03 +02:00
Alex Beregszaszi
ee3a2c0599
Add end-to-end test
2017-07-13 15:18:40 +02:00
Alex Beregszaszi
cee93d946d
Support parsing let statements without a value
2017-07-13 15:18:18 +02:00
chriseth
c9b51e71bd
Add another transfer testcase.
2017-07-13 15:10:34 +02:00
chriseth
09e821619e
Refactor exceptions and provide comment function.
2017-07-13 11:34:03 +02:00
Federico Bond
da917333d9
Fix error message formatting
2017-07-12 23:59:45 -03:00
Federico Bond
f20b150f38
Add type error when attempting value transfer to a non-payable contract
2017-07-12 23:57:53 -03:00
chriseth
b7a59652f1
Merge pull request #2501 from ethereum/undef-macros
...
Move UndefMacros from libdevcore to libsolidity/parsing
2017-07-12 15:07:20 +02:00
Alex Beregszaszi
db7ad508f8
Issue proper warning trying to access calldata variables in inline assembly
2017-07-12 10:48:44 +02:00
Alex Beregszaszi
1682767c6e
Add failing implicit conversion test
2017-07-11 14:51:58 +01:00
chriseth
883666d2c0
Fix invalid "explicit storage keyword" warning for reference members of structs.
2017-07-10 18:30:41 +02:00
chriseth
0400e61e28
Deprecate throw.
2017-07-05 21:15:00 +02:00
chriseth
dd34277ca6
Warn if local storage reference variable does not use "storage" explicitly.
2017-07-05 19:38:00 +02:00
chriseth
0cb93a5f7b
Test for internal "variable already present" error.
2017-07-04 19:33:54 +02:00
Alex Beregszaszi
b615b01449
Move UndefMacros from libdevcore to libsolidity/parsing
2017-07-02 00:09:46 +01:00
chriseth
dd9416be29
Merge pull request #2481 from ethereum/mload-optim
...
MLOAD has side-effects, treat it like that in the optimiser
2017-07-01 17:53:01 +02:00
Yoichi Hirai
4dfc413b8e
test: add a test passing an invalid boolean value as an event argument
...
Fixes #1381
2017-07-01 10:35:51 +01:00
Yoichi Hirai
fdc9ef14ad
test: add an assertion about storing an invalid boolean into the memory
2017-07-01 10:35:51 +01:00
Yoichi Hirai
7cbf6a86dd
test: add a test about storing an invalid boolean
2017-07-01 10:35:51 +01:00
chriseth
11dd89c70b
Removed useless test.
2017-06-30 21:27:39 +01:00
Alex Beregszaszi
0c92f53944
Correctly check for jump warnings
2017-06-30 20:47:33 +01:00
Alex Beregszaszi
d4fecc7b11
Warn on JUMP/JUMPI in inline assembly
2017-06-30 20:47:14 +01:00
chriseth
044058276e
Warn about callcode.
2017-06-30 16:37:32 +02:00
chriseth
46caff4597
Test for negative stack height.
2017-06-28 16:55:49 +01:00
chriseth
803ab3626b
Verbose error message test failure.
2017-06-28 15:02:25 +02:00
chriseth
c3e5d6b7ef
Give min and max values in warning message.
2017-06-28 15:02:25 +02:00
chriseth
070a241899
Adjust other tests.
2017-06-28 11:41:03 +02:00
chriseth
c73ba612f4
Fix test error reporting if we ignore warnings.
2017-06-28 11:41:03 +02:00
chriseth
af7ff3a3ef
Update tests themselves
2017-06-28 11:41:03 +02:00
chriseth
73fbaa5a3e
Test for var i = 0;
2017-06-28 11:41:03 +02:00
chriseth
708d17d13f
Merge pull request #2464 from federicobond/deprecate-function-type-names
...
Warn deprecated usage of parameter names in function types
2017-06-27 16:32:48 +02:00
Alex Beregszaszi
bc31d4969c
Merge pull request #2437 from ethereum/warnDoubleCopyStorage
...
Warn about copies in storage that might overwrite unexpectedly.
2017-06-27 10:24:03 +01:00
Alex Beregszaszi
6b05bbbbb4
Update tests for function type comparison
2017-06-26 22:01:35 +01:00
Federico Bond
70fd5c1770
Warn deprecated usage of parameter names in function types
2017-06-26 15:39:01 -03:00
chriseth
336c9e8f32
Some more tests.
2017-06-26 16:42:43 +02:00
chriseth
1a3066c3a1
Test about semantics of "swap" in storage.
2017-06-26 16:31:36 +02:00
chriseth
d0b6de0b34
Warn about copies in storage that might overwrite unexpectedly.
2017-06-26 16:31:36 +02:00
chriseth
d2445dfdce
Tests for comparison of non-comparable types.
2017-06-26 16:30:22 +02:00
Alex Beregszaszi
751ba701bc
Merge pull request #2450 from ethereum/addressstring
...
Fix for strings treated as addresses.
2017-06-26 12:18:33 +01:00
Alex Beregszaszi
a0b0df2d98
Merge pull request #2460 from ethereum/disallowMultiModifier
...
Disallow invoking the same modifier multiple times.
2017-06-26 11:51:12 +01:00
chriseth
f879489291
Merge pull request #2449 from federicobond/warn-bytesxx-decimal
...
Warn if decimal literals are used in a bytesXX context
2017-06-26 09:13:41 +02:00
Federico Bond
7a3ea61ffd
Warn if decimal literals are used in a bytesXX context
...
Fixes #2349
2017-06-23 23:21:19 -03:00
chriseth
5a75581f66
Disallow invoking the same modifier multiple times.
2017-06-23 20:12:22 +02:00
chriseth
64067975e4
Review suggestions.
2017-06-23 19:29:11 +02:00
chriseth
25fc8ad9b9
Fix tests.
2017-06-23 19:29:11 +02:00
chriseth
a25f73e2cc
Fix location tests.
2017-06-23 19:29:11 +02:00
chriseth
b86a4cad57
Check for constness of address constant.
2017-06-23 11:19:57 +02:00
Alex Beregszaszi
79ed529b3f
Merge pull request #2452 from ethereum/fixPassingEmptyString
...
Fix passing empty string
2017-06-22 22:33:06 +01:00