Commit Graph

1509 Commits

Author SHA1 Message Date
chriseth
81271801b4
Merge pull request #4478 from ethereum/requireStorageLocation
Turn missing storage locations into an error.
2018-07-12 18:00:05 +02:00
Christian Parpart
cc585138bc Generates a syntax error when declaring a variable declaration's LHS has no named components 2018-07-12 13:26:52 +02:00
chriseth
fa8102880f
Merge pull request #4428 from ethereum/enforce_staticcall_view
[BREAKING] Enforce STATICCALL for view and pure
2018-07-12 13:14:02 +02:00
chriseth
576f3ef18c
Merge pull request #4083 from ethereum/variable_stack_slot
[BREAKING] Allocate local variables according to their scope
2018-07-12 13:01:15 +02:00
Daniel Kirchner
8b4b8bdbae Update test wrt requiring storage locations. 2018-07-12 12:54:42 +02:00
Chase McDermott
fc78b32847 Added default data locations to parameters for syntax tests. 2018-07-11 20:24:50 -05:00
chriseth
99bee7e233
Merge pull request #4443 from ethereum/double_var_decl_fix
Fix crash when declaring the same var twice in the same scope
2018-07-12 00:05:32 +02:00
chriseth
0c9645c978
Merge pull request #4480 from ethereum/fixZeroWithExponent
Fix literals with exponents with mantissa of zero.
2018-07-11 23:45:41 +02:00
Christian Parpart
08345209e6
Merge pull request #4404 from ethereum/v050-var-keyword-suggest
[WIP] v0.5.0 var keyword type suggestion
2018-07-11 16:33:09 +02:00
Daniel Kirchner
dedf13633c Split test case into failing and succeeding case. 2018-07-11 15:37:37 +02:00
Daniel Kirchner
e8e5e12ad2 Fix literals with exponents with mantissa of zero. 2018-07-11 15:34:17 +02:00
Leonardo Alt
38026d3114 Use STATICCALL for view and pure 2018-07-11 14:45:22 +02:00
chriseth
f3abfa81ad
Merge pull request #4454 from ethereum/constructorArgCount
[BREAKING] Wrong argument count in constructor call
2018-07-11 14:45:05 +02:00
chriseth
238dbe1b99
Merge pull request #4388 from ethereum/noPackedLiterals
Disallow packed encoding of literals.
2018-07-11 14:28:20 +02:00
Erik Kundt
e7dc9d27fc Cleans up syntax test. 2018-07-11 13:26:52 +02:00
Erik Kundt
7c7e154a7b Improves error with suggestion to remove parantheses. 2018-07-11 01:58:17 +02:00
Erik Kundt
34a031609e Updates Changelog, syntax test and simplifies type checker. 2018-07-11 01:58:17 +02:00
Erik Kundt
0b960f5a9c Turns wrong argument count in base constructor call into en error. 2018-07-11 01:56:07 +02:00
Cryptomental
4116704442 test: Fix typos.
Fix typos using codespell.

Refs: #4442
2018-07-10 22:57:59 +02:00
Christian Parpart
1505e28b56 semantics: Suggest auto-deduced type when user declares variable with var keyword. 2018-07-10 22:14:19 +02:00
chriseth
d84976dc87
Merge pull request #4376 from ethereum/fallbackExternal
Fallback functions have to be external
2018-07-10 21:39:25 +02:00
chriseth
12045d2e11
Merge pull request #4464 from cryptomental/bugfix/fix-typos-in-AsmParser-and-TypeChecker
AsmParser,TypeChecker: Fix typos.
2018-07-10 21:07:56 +02:00
chriseth
6567cd3e51
Merge pull request #4466 from ethereum/tupleNotEmpty
Disallow empty tuple components.
2018-07-10 21:03:30 +02:00
Leonardo Alt
a18a475b1a Change test from public to external 2018-07-10 19:08:05 +02:00
Leonardo Alt
c286cdaa62 Fix crash for double variable declaration in the same scope. 2018-07-10 18:54:46 +02:00
Leonardo Alt
0c5e0e0d59 Added assertion and tests suggestions 2018-07-10 18:39:38 +02:00
Leonardo Alt
b750ca9741 Add more tests and assertions 2018-07-10 18:39:38 +02:00
Leonardo Alt
9d895e002d Added tests and review suggestions 2018-07-10 18:39:38 +02:00
Christian Parpart
8ca69ed8d8 defaulting to v0.5.0 behaviour of unary + operator (disallow); also adapting all tests to it 2018-07-10 16:27:57 +02:00
Daniel Kirchner
6d28278b3f Update end-to-end tests. 2018-07-10 15:53:48 +02:00
Daniel Kirchner
ad47fe23c1 Update tests. 2018-07-10 15:28:05 +02:00
chriseth
7650905567
Merge pull request #4415 from ethereum/uninitializedStoragePointer
[BREAKING] Turn uninitialized storage variables into error.
2018-07-10 15:24:01 +02:00
Cryptomental
8c0297b400 libsolidity/syntaxTests: Add a test case for unwanted named arguments.
Refs: #4442
2018-07-10 14:10:09 +02:00
Cryptomental
a55abb550d AsmParser,TypeChecker: Fix typos.
Fix typos. The change requested as a separate PR during codespell PR.
Adapt tests as well.

Refs: #4442
2018-07-10 12:33:19 +02:00
Daniel Kirchner
afa5f528f5 Update tests. 2018-07-10 12:17:01 +02:00
Daniel Kirchner
46d6454b1f Update tests. 2018-07-10 11:38:32 +02:00
chriseth
ab99893396
Merge pull request #4440 from ethereum/hex_denomination_enforce_error
[BREAKING] Enforce error on hex combined with denomination
2018-07-09 17:57:16 +02:00
chriseth
e950fd434a
Merge pull request #4403 from ethereum/syntaxTestsVisibility
Specify default visibility in syntax tests (pt. 2)
2018-07-09 17:53:23 +02:00
Leonardo Alt
c1b67a845b Enforce error on hex number combined with unit denomination 2018-07-09 17:19:41 +02:00
Alex Beregszaszi
c42583d27e
Merge pull request #4366 from ethereum/libsolc-cleanup
Implement new libsolc API
2018-07-09 12:30:11 +02:00
Erik Kundt
19f6b5ad05 Updates interface constructor and function type test. 2018-07-06 19:42:44 +02:00
chriseth
f3e0bf1dd8
Merge pull request #4418 from ethereum/initialConstants
Only allow compile-time constants for constant state variables.
2018-07-05 17:07:32 +02:00
chriseth
c8ac861832 Fix allocation of byte arrays. 2018-07-05 14:18:14 +02:00
Erik Kundt
87ab7d1821 Fixes compilation errors. 2018-07-04 15:45:42 +02:00
Erik Kundt
cbfe3766db Fixes defects in end-to-end tests. 2018-07-04 15:45:42 +02:00
Erik Kundt
7cb46ea707 Fixes assembly test. 2018-07-04 15:45:42 +02:00
Erik Kundt
fc2b006fe1 Updates unit test to specify visibility. 2018-07-04 15:45:42 +02:00
Erik Kundt
b42929975f Updates end-to-end tests to specify default visibility. 2018-07-04 15:32:49 +02:00
Erik Kundt
3f53db402f Fixes wrong visibility specifier in interface constructor test. 2018-07-04 15:15:30 +02:00
chriseth
4a332ab324
Merge pull request #4409 from ethereum/viewPureChecker
Enforce state mutability in view pure checker.
2018-07-04 14:09:46 +02:00
Erik Kundt
0dd3e6052c Fixes broken syntax tests. 2018-07-04 11:47:35 +02:00
Leonardo Alt
8202d512e0 Enforcing error on msg.gas and block.blockhash() 2018-07-04 11:42:05 +02:00
Daniel Kirchner
f5be38bff1 Extend view pure test suite. 2018-07-04 11:25:45 +02:00
Erik Kundt
2e0d019ef0 Adds default visibility specifier to syntax tests. 2018-07-04 10:45:59 +02:00
Daniel Kirchner
0a738b4ac4 Adjust tests wrt strict view pure checker. 2018-07-04 10:14:58 +02:00
chriseth
8ed3da1d5f Only allow compile-time constants for constant state variables. 2018-07-03 23:03:26 +02:00
chriseth
2211739fc4 Update tests. 2018-07-03 22:51:55 +02:00
chriseth
533d5d4b1c
Merge pull request #4379 from ethereum/constructorArgsTwice
Disallow constructor arguments given multiple times.
2018-07-03 22:49:02 +02:00
Daniel Kirchner
717c70a88f Update test suite. 2018-07-03 15:31:34 +02:00
chriseth
f7a9c4203e Disallow packed encoding of literals. 2018-07-03 01:02:00 +02:00
chriseth
0f3872694b
Merge pull request #4374 from ethereum/v050-var-keyword-removal-preps-end2end-tests
V050 var keyword removal preparations (End-to-End tests)
2018-07-02 18:26:46 +02:00
chriseth
08aa7e47e4
Merge pull request #4305 from ethereum/transactionReceipts
Determine transaction status in RPC sessions.
2018-07-02 16:09:59 +02:00
Christian Parpart
e251cdcf47 test: ensure compiled tests do not use var-keyword in preparation of var-keyword removal 2018-07-02 14:32:05 +02:00
Daniel Kirchner
9aefe2f118 Remove trailing whitespace in missing visibility warning. 2018-07-02 13:14:58 +02:00
chriseth
9a71b69f40
Merge pull request #4386 from ethereum/testingDefaultVisibility
Specify default visibility in syntax tests
2018-07-02 13:06:59 +02:00
Daniel Kirchner
334c023c72 Determine transaction status in RPC sessions. 2018-07-02 12:56:33 +02:00
chriseth
85b9d3927a
Merge pull request #4224 from ethereum/revert_wrong_calldata
[BREAKING] Revert if calldata has wrong size
2018-07-02 12:55:22 +02:00
Erik Kundt
1b008c62a1 Adds review suggestions. 2018-07-02 11:44:16 +02:00
Alex Beregszaszi
328554a4f9 Add new libsolc entry points (solidity_license/version/compile) 2018-06-29 19:30:37 +02:00
Alex Beregszaszi
7d525620d8 Rename JSONCompiler test suite to LibSolc 2018-06-29 17:47:36 +02:00
Erik Kundt
f3ca0685fe Updates syntax tests to specify default visibility. 2018-06-29 16:26:18 +02:00
chriseth
8747079746 Fix tests. 2018-06-29 16:24:14 +02:00
chriseth
f69e24c85e Disallow constructor arguments given multiple times. 2018-06-29 16:11:21 +02:00
chriseth
e289c36158
Merge pull request #4354 from ethereum/constructorSyntaxTests
Updates tests to new constructor syntax
2018-06-29 15:45:26 +02:00
Erik Kundt
e6d250772d Updates invalid syntax test. 2018-06-29 13:22:59 +02:00
chriseth
d469df45d8
Merge pull request #4352 from D-Nice/develop
Fixes storage ref var typo error from 'prefix' to 'suffix'
2018-06-29 12:27:29 +02:00
Erik Kundt
1346b4407f Updates syntax tests to new constructor syntax. 2018-06-29 11:27:01 +02:00
Erik Kundt
12c4eb7697 Updates compiled unit tests to new constructor syntax. 2018-06-29 11:27:01 +02:00
chriseth
eeef82b2d7 Fallback function has to be external: backwards-compatible changes. 2018-06-29 00:23:52 +02:00
D-Nice
3cad417710 Add passing test case 2018-06-28 16:45:53 -04:00
Alex Beregszaszi
4268062985
Merge pull request #4365 from ethereum/type-identifier-test
Some more type identifier tests
2018-06-28 16:26:25 +02:00
D-Nice
d62476fb1f
Adds storage_reference.sol syntax test 2018-06-27 19:42:46 -04:00
Alex Beregszaszi
775590b0f2 Add more FixedPoint type tests 2018-06-27 19:05:00 +02:00
Alex Beregszaszi
76465f2352 Add one more type identifier escaping test 2018-06-27 18:38:42 +02:00
chriseth
4a842ecc82
Merge pull request #4097 from ethereum/noPackedExceptForPacked
[BREAKING] call only takes a single argument and does not pad
2018-06-27 18:29:01 +02:00
chriseth
92cb4acd8a Also mention regular abi.encode in error message. 2018-06-27 15:00:34 +02:00
chriseth
4e8883b63d Add emit keyword to tests. 2018-06-27 10:49:16 +02:00
Alex Beregszaszi
80b7d36187 Remove non-0.5.0 warning for emit keyword (make it mandatory) 2018-06-26 20:00:54 +02:00
Christian Parpart
e38139c800 test: Adapted to the change of the var-keyword elimination. 2018-06-26 10:40:26 +02:00
Christian Parpart
a083ccd457 test: drop obsoleted syntaxTest(s) 2018-06-26 10:40:25 +02:00
Leonardo Alt
7763d21cc6 Revert if calldata is too short or points out of bounds 2018-06-26 10:27:48 +02:00
chriseth
4154e1480b Update tests and add new tests. 2018-06-25 17:17:48 +02:00
chriseth
86a720b96a Adjust tests. 2018-06-25 17:17:18 +02:00
chriseth
312f422e10 Forwarding length check. 2018-06-25 17:01:45 +02:00
Alex Beregszaszi
6d9a091a8e Keep the 'if it not used as an address' helper message for all cases of address related warnings 2018-06-25 16:25:21 +02:00
Alex Beregszaszi
c7f842d4cc Do not change SMT tests 2018-06-25 16:17:50 +02:00
Jason Cobb
98c9ca2575 Update tests for strict address literals 2018-06-25 16:17:50 +02:00
Alex Beregszaszi
72e87423db Disallow the years unit denomination properly 2018-06-21 20:21:02 +02:00
chriseth
0d1047181d
Merge pull request #4306 from ethereum/remove_050_workaround_scoping
[BREAKING] C99 scoping rules by default (remove 050 workaround)
2018-06-21 13:57:59 +02:00
Alex Beregszaszi
7e4bd3e346
Merge pull request #4219 from ethereum/functionTypeNamedArguments
Turn named return parameters in function types into an error.
2018-06-20 23:51:19 +02:00
Leonardo Alt
8862b3092b C99 scoping rules by default 2018-06-20 12:53:38 +02:00
Alex Beregszaszi
a17059573f Disallow raw callcode (was deprecated in 0.4.12) 2018-06-19 19:31:07 +02:00
Daniel Kirchner
dbfee87860 Return parameters in function types may not be named. 2018-06-18 00:05:06 +02:00
Daniel Kirchner
14d0f8c2f1 Refactor syntax test infrastructure to prepare introducing semantics tests. 2018-06-15 10:51:40 +02:00
Christian Parpart
a211b89118 Enforce disallowing empty structs
This patch enfoces an error when it encounters an empty struct,
effectively eliminating the deprecation warning.

Also adjust 419_interface_structs to explicitely test for (non-empty) structs,
as this behaviour "may" change in the future.
2018-06-14 00:24:43 +01:00
chriseth
1dc28c065d Properly pad data from calldata. 2018-06-12 18:51:40 +01:00
Alex Beregszaszi
9de45383d8 Disallow sha3/suicide aliases 2018-06-12 18:16:18 +01:00
Alex Beregszaszi
d1e7e9ef5e
Merge pull request #3627 from ethereum/additional-keywords
[BREAKING] Add new reserved keywords.
2018-06-12 16:33:26 +01:00
Daniel Kirchner
e2f4a9fcf4
Merge pull request #4277 from ethereum/signedRightShift
Signed Right Shift: Additional test and more explanation.
2018-06-12 17:19:20 +02:00
Daniel Kirchner
e4b7b2160e Add new reserved keywords. 2018-06-12 16:02:53 +02:00
Daniel Kirchner
510f227bd7 Additional test and more explanation. 2018-06-12 15:53:15 +02:00
Daniel Kirchner
1f1ec180fb
Merge pull request #4273 from ethereum/soltestExceptions
Improve exception handling in soltest and isoltest.
2018-06-12 12:26:05 +02:00
Daniel Kirchner
9f546cfafc Improve exception handling in soltest and isoltest. 2018-06-12 11:06:14 +02:00
Daniel Kirchner
f33dc92cbd Use proper SAR for signed right shifts and emulate on pre-constantinople. 2018-06-12 09:32:19 +01:00
Alex Beregszaszi
24ca596c66
Merge pull request #4241 from ethereum/show-named-arg
Show named argument name in error
2018-06-06 16:32:08 +01:00
Alex Beregszaszi
0f572159ec Show named argument name in error 2018-06-06 15:59:27 +01:00
Alex Beregszaszi
b2a3e165cb Extract test cases from ViewPureChecker 2018-06-06 15:41:41 +01:00
chriseth
4073c02cf3
Merge pull request #4208 from ethereum/extract-name-and-type-tests
Extract name and type tests
2018-06-04 19:54:14 +02:00
chriseth
1ce40f4089 Move "create2_as_variable" back to non-isoltest tests. 2018-06-04 19:14:25 +02:00
chriseth
c59a06bb97
Merge pull request #4213 from ethereum/fixpop
Fix bug related to byte array pop.
2018-06-04 16:10:56 +02:00
Jason Cobb
7de0d56aae Remove sha3/suicide from assembly tests 2018-06-04 01:04:49 +01:00
chriseth
4b7e58f22f Add test for pop on the stack. 2018-05-31 15:01:45 +02:00
Alex Beregszaszi
e58ffda9fd Remove extracted tests from SolidityNameAndTypeResolution 2018-05-30 20:04:34 +01:00
Alex Beregszaszi
6e23006937 Split out SolidityNameAndTypeResolution tests into SyntaxTests 2018-05-30 19:50:06 +01:00
Alex Beregszaszi
deeca7bc5d Reformat test for extraction tool 2018-05-30 18:46:28 +01:00
chriseth
0a1a8bfb09
Merge pull request #4172 from ethereum/trailing_dot
[BREAKING] Disallow trailing dot not followed by number
2018-05-30 18:51:52 +02:00
chriseth
0e3d4f773f
Merge pull request #4205 from ethereum/name-and-type-tests-split
Split up last NameAndTypeResolution test cases
2018-05-30 18:48:08 +02:00
chriseth
5a73044fa7
Merge pull request #3743 from ethereum/popStorageArray
pop() for storage arrays
2018-05-30 18:32:08 +02:00
Erik Kundt
fea0d116f7 Fixes assembly bug and adds tests to cover it. 2018-05-30 17:46:43 +02:00
Erik Kundt
98d52beba3 Adds syntax tests, documentation and changelog entry.
Refines comment for array utility function.
2018-05-30 17:43:20 +02:00
Alex Beregszaszi
4ec3f508b0 Split up last NameAndTypeResolution test cases 2018-05-30 16:40:49 +01:00
Erik Kundt
34b5eca1f8 Improves assembly and adds more tests. 2018-05-30 17:40:33 +02:00
Leonardo Alt
ac68710789 Disallow trailing dots that are not followed by a number 2018-05-30 15:14:53 +01:00
chriseth
41965ca262
Merge pull request #4176 from sifmelcara/add/calldata-keyword
Add a new keyword, "calldata", to allow explicitly specify data location in external function's argument list
2018-05-30 14:42:50 +02:00
mingchuan
b7cafcbdf9
Allow using calldata keyword to specify data location 2018-05-30 18:05:55 +08:00
Alex Beregszaszi
ddc4492d5e Split up NameAndTypeResolution test cases 2018-05-30 06:19:05 +01:00
Alex Beregszaszi
6eedc6e797 Extend function type comparison test 2018-05-30 06:16:35 +01:00
Erik Kundt
7156a01acc Implements pop() for byte arrays. 2018-05-29 12:53:02 +02:00
bitshift
e9dcfb0b62 Implements pop() for value type arrays. 2018-05-29 12:53:02 +02:00
Alex Beregszaszi
885b08df40 Simplify fromElementaryTypeName tests 2018-05-23 17:41:27 +01:00
Alex Beregszaszi
536b3202a6 Move fromElementaryTypeName tests to SolidityTypes 2018-05-23 17:39:52 +01:00
chriseth
5ee2ce353e
Merge pull request #4067 from ethereum/050
[BREAKING] Version 0.5.0
2018-05-23 18:11:20 +02:00
Alex Beregszaszi
8f3c119531 Move comments into test sources in SolidityNameAndTypeResolution 2018-05-23 15:18:36 +02:00
Alex Beregszaszi
31fa6a24df Move more parser tests to syntax tests 2018-05-22 13:25:04 +02:00
Daniel Kirchner
1cbc037a45 Update control flow graph. 2018-05-16 18:32:48 +02:00
Daniel Kirchner
f627dc77d0 Fix continue inside do-while. 2018-05-16 18:32:48 +02:00
Daniel Kirchner
f5a49f679a Adjust tests. 2018-05-16 18:32:47 +02:00
Daniel Kirchner
5c59d56335 Disallow conversions between bytesX and uintY of different size. 2018-05-16 18:32:47 +02:00
Leonardo Alt
a19b516b2b Add syntax tests and Changelog entry 2018-05-16 18:32:47 +02:00
Leonardo Alt
0b6eea0c55 Bool variables should not allow arithmetic comparison 2018-05-16 18:32:47 +02:00