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
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