Commit Graph

1051 Commits

Author SHA1 Message Date
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