Erik Kundt
1b008c62a1
Adds review suggestions.
2018-07-02 11:44:16 +02:00
Dimitry
7b7df90e76
fix default difficulty to comply with YP rules
...
fix soltest to work with the recent aleth --test
2018-06-30 13:07:30 +03: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
chriseth
01fd5a8d51
Add emit keyword to compilation tests.
2018-06-27 10:37:46 +02:00
chriseth
b9d035264d
Add some more emits.
2018-06-26 20:09:54 +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
chriseth
e6595d8806
Merge pull request #4318 from ethereum/yul-internal
...
Rename some internal constructs from Julia/Iulia to Yul
2018-06-26 12:24:07 +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
Alex Beregszaszi
e05a31b82b
Rename Julia to Yul in variables
2018-06-26 00:52:36 +02:00
Alex Beregszaszi
91db46b128
Rename test suites from J/Iulia* to Yul*
2018-06-26 00:07:28 +02:00
Erik Kundt
95c3488a26
Updates external contracts to new constructor syntax.
2018-06-26 00:00:32 +02:00
chriseth
4154e1480b
Update tests and add new tests.
2018-06-25 17:17:48 +02:00
chriseth
e299a0031f
Update compilation 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
Alex Beregszaszi
d44743c87f
Replace old Truffle artifacts in external Zeppelin/Gnosis tests
2018-06-25 16:17:50 +02:00
Alex Beregszaszi
3ee3018bf6
Update external contracts in compilationTests (to support strict address literals)
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
Christian Parpart
f44561aeeb
Fixes soltest against "recent" cpp-ethereum builds.
...
For me, it looks like the following Git commit has introduced this behaviour:
42b927d7aa
This commit adds dummy values for `mixHash` and `nonce` (inspired by values were cpp-ethereum's own tests),
and now, soltest runs fine again.
2018-06-25 13:55:23 +02:00
Alex Beregszaszi
e50f8d532a
Disable gnosis tests temporarily
2018-06-21 21:51:28 +02:00
Alex Beregszaszi
72e87423db
Disallow the years unit denomination properly
2018-06-21 20:21:02 +02:00
Christian Parpart
6de24b1c5e
test: drop var-keyword in compilationTests in favor of explicit types
2018-06-21 14:14:16 +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
chriseth
ba7fbf11e7
Merge pull request #4300 from nventuro/optimize-out-and
...
Add TruthyAnd Peephole optimization
2018-06-20 11:38:37 +02:00
Nicolás Venturo
804eb3ef9d
Improves peephole_truthy_and test case
2018-06-19 17:09:50 -03: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
Nicolás Venturo
172e208c6a
Add TruthyAnd Peephole optimization
2018-06-15 11:27:39 -03:00
Daniel Kirchner
14d0f8c2f1
Refactor syntax test infrastructure to prepare introducing semantics tests.
2018-06-15 10:51:40 +02:00
Daniel Kirchner
0319b184ce
Add difficulty field to genesis chain parameters to fix ipc tests for recent versions of cpp-ethereum.
2018-06-14 16:46:10 +02:00
Alex Beregszaszi
d24f6fd34b
update tests
2018-06-14 09:31:28 +01:00
chriseth
baeabe1c2d
Merge pull request #4282 from ethereum/cli-yul
...
[BREAKING] Renamed the --julia CLI option to --yul
2018-06-14 08:42:37 +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
Alex Beregszaszi
ba2a7294d8
Renamed the --julia CLI option to --yul
2018-06-14 00:09:00 +01:00
Alex Beregszaszi
76b4c0e6e6
Properly download branches of external Zeppelin/Gnosis tests
2018-06-12 22:41:56 +01:00
Alex Beregszaszi
62b05d4157
Merge pull request #4283 from ethereum/swap-test-order
...
Execute external Zeppelin tests before Gnosis
2018-06-12 19:48:10 +01:00
Alex Beregszaszi
dae790b118
Execute external Zeppelin tests before Gnosis
2018-06-12 19:11:56 +01:00
chriseth
1dc28c065d
Properly pad data from calldata.
2018-06-12 18:51:40 +01:00
Alex Beregszaszi
2084208dd3
Ensure to always use 0.5.0 mode in solcjs tests
2018-06-12 18:16:18 +01:00
Alex Beregszaszi
d39917fd0d
Update external contract in compilationTests to not use deprecated sha3
2018-06-12 18:16:18 +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
chriseth
2c8eca5dcf
Merge pull request #4265 from ethereum/remove-std
...
Remove obsolete 'std' directory
2018-06-12 16:59:51 +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
99c585fd8a
Remove obsolete 'std' directory
2018-06-11 20:11:10 +01:00
Alex Beregszaszi
d035561992
Merge pull request #4206 from ethereum/050-testing
...
Use temporary fork of Gnosis/Zeppelin contracts
2018-06-11 19:57:56 +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
Alex Beregszaszi
31a258458b
Update imported stringutils to use keccak256
2018-06-04 01:05:01 +01: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
Alex Beregszaszi
396b188352
Use temporary fork of Gnosis/Zeppelin contracts
...
Hopefully to be merged into upstream after the 0.5.0 release.
2018-05-30 16:47:11 +01: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
faf96e8e3f
Gnosis and Zeppelin repo names have changed
2018-05-30 16:42:21 +01: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
chriseth
9705678269
Merge pull request #3987 from ethereum/solc_remove_stdin
...
BREAKING Solc: read from stdin only if "-" is explicitly given
2018-05-16 18:32:44 +02:00
Alex Beregszaszi
0bed065ee7
Fix source location assertion in isoltest
2018-05-16 15:52:43 +02:00
Alex Beregszaszi
adce9ca812
Tidy up tests to always have closing braces on the proper line
2018-05-16 15:52:24 +02:00
Alex Beregszaszi
221a4d1f1f
Split warning for multi arguments for hash functions
2018-05-16 11:12:25 +02:00
chriseth
03f60410c9
Add test for single non-bytes argument.
2018-05-16 09:48:03 +02:00
chriseth
203475ef02
Adjust tests.
2018-05-16 09:48:03 +02:00
chriseth
8b98ff470c
Add test for forwarding length check.
2018-05-16 09:48:03 +02:00
chriseth
03c2484407
Merge pull request #4145 from ethereum/more-parser-test-moves
...
Move couple of parser tests to syntax tests.
2018-05-16 09:44:47 +02:00
chriseth
c781baf733
Add tests for multi variable declaration statement.
2018-05-16 03:52:24 +02:00
Alex Beregszaszi
7fb43fe854
Move couple of parser tests to syntax tests.
2018-05-16 03:48:37 +02:00
chriseth
2ba0002998
Merge pull request #4139 from ethereum/abiEncodeIsPure
...
ABI encoding functions are pure and should be usable in constants.
2018-05-15 16:59:48 +02:00
chriseth
63861aac4a
Merge pull request #3947 from ethereum/smt_storage
...
[SMTChecker] Support to integer and Bool storage vars
2018-05-15 14:54:41 +02:00
chriseth
dac0029d16
ABI encoding functions are pure and should be usable in constants.
2018-05-15 14:45:54 +02:00
chriseth
dce6224052
Merge pull request #4062 from ethereum/revert-variable
...
Fix revert with reason coming from a string variable
2018-05-15 14:44:39 +02:00
Leonardo Alt
a0b42105e4
Testing state vars that are declared after functions that use them
2018-05-15 14:28:08 +02:00
Leonardo Alt
4117e859eb
[SMTChecker] Declaring all state vars before any function is visited
2018-05-15 14:28:08 +02:00
Leonardo Alt
2dbb35d4a8
[SMTChecker] Support to integer and Bool storage vars
2018-05-15 14:22:50 +02:00
Daniel Kirchner
56238ab1ec
Add test for default location.
2018-05-14 20:23:40 +02:00
Daniel Kirchner
16e966dea0
Add control flow analyzer and test for uninitialized storage returns.
2018-05-14 20:23:40 +02:00
chriseth
ab63ab1cbb
Merge pull request #4093 from ethereum/prepareDropConstantKeyword
...
Prepare drop constant keyword.
2018-05-14 12:47:07 +02:00
Daniel Kirchner
9b7ded2f78
Remove "view"'s in end-to-end tests that will result in errors in 0.5.0.
2018-05-11 11:01:06 +02:00
mingchuan
dbd0a7ed60
Fix link error when using boost shared library
2018-05-11 11:20:19 +08:00
Alex Beregszaszi
c03a29dea8
Fix revert with reason coming from a string variable
2018-05-09 17:53:17 +02:00
Daniel Kirchner
bc47265b3f
Replace constant with view in the tests.
2018-05-09 15:07:47 +02:00
Alex Beregszaszi
2c3f57bec6
Merge pull request #4104 from ethereum/parserErrorSourceLocations
...
Proper source locations for parser errors.
2018-05-09 14:06:30 +01:00
Daniel Kirchner
305fc0626b
Update test expectations.
2018-05-09 14:08:25 +02:00
Daniel Kirchner
3e6a8d7c2a
Add more tests for right shifts.
2018-05-09 12:50:56 +02:00
Alex Beregszaszi
8afd0ea030
Introduce Julia filter to encapsulate top level Block as a FunctionDefinition (wasm specific)
2018-05-09 11:21:03 +02:00
chriseth
54aa10ce36
Merge pull request #4054 from ethereum/token-names
...
Improve parser error messages
2018-05-09 11:06:23 +02:00
chriseth
bbae4fb0ef
Test with high path complexity.
2018-05-09 10:53:31 +02:00
chriseth
8ee5d3b274
New tests for wildcard assignments.
2018-05-08 15:32:36 +01:00
chriseth
43ec1699ba
Remove deprecated syntax from a test
2018-05-08 15:13:32 +01:00
chriseth
07e862a145
Extract tests.
2018-05-08 15:13:32 +01:00
chriseth
d0bd549d85
Merge pull request #3256 from ethereum/fullInliner
...
Full inliner
2018-05-07 11:31:35 +02:00
Leonardo Alt
db5ea8ec03
Read from stdin only if - is explicitly given
2018-05-07 09:32:46 +02:00
chriseth
150d226603
Merge pull request #4063 from ethereum/emit-non-event
...
Show proper error when trying to emit a non-event
2018-05-04 15:02:04 +02:00
Alex Beregszaszi
840ed1e88a
Update parser test expectations
2018-05-04 13:31:56 +01:00
Alex Beregszaszi
ffe7f224a6
Show proper error when trying to emit a non-event
2018-05-04 12:47:01 +02:00
Alex Beregszaszi
ed9f80690b
Simplify expectIdentifierToken by using expectToken
2018-05-03 22:10:51 +01:00
chriseth
650244f619
Merge pull request #4053 from ethereum/parser-syntax-tests
...
Move some parser tests to syntax tests
2018-05-03 08:35:00 +02:00
Alex Beregszaszi
07e765a2f1
Move some parser tests to syntax tests
2018-05-02 21:21:11 +01:00
chriseth
d2145428c5
Fix test case strings.
2018-05-02 17:39:42 +02:00
chriseth
78945e81e4
Test the removal of the result variable.
2018-05-02 17:39:42 +02:00
chriseth
5cd84a630c
Tests.
2018-05-02 17:39:42 +02:00
chriseth
a856135bbf
Merge pull request #3797 from ethereum/shift-constantinople
...
Use native shift instructions on Constantinople
2018-05-02 16:50:15 +02:00
chriseth
8debded743
Revert "BREAKING: Bool variables should not allow arithmetic comparison"
2018-05-02 15:56:59 +02:00
chriseth
42289b642f
Merge pull request #4003 from ethereum/bool_vars_comparison
...
BREAKING: Bool variables should not allow arithmetic comparison
2018-05-02 15:56:06 +02:00
Alexander Arlt
f94b793472
Add virtual destructors on base classes.
2018-05-02 13:29:16 +02:00
Alex Beregszaszi
971941b3f6
Update source location test expectations
2018-04-30 21:23:08 +01:00
Alex Beregszaszi
c44294d02d
Add syntax tests for bytesM
2018-04-30 13:02:02 +01:00
Leonardo Alt
d43436cfec
Add syntax tests and Changelog entry
2018-04-27 14:13:18 +02:00
Leonardo Alt
ab251c7e7d
Bool variables should not allow arithmetic comparison
2018-04-27 11:35:58 +02:00
chriseth
d1e1293fbd
Merge pull request #3981 from ethereum/years-suffix
...
The "year" denomination is deprecated
2018-04-24 12:12:03 +02:00
Alex Beregszaszi
258ae8927e
Merge pull request #3970 from elopio/test/docstring-tag-end
...
docstring: add missing space
2018-04-24 02:16:27 +01:00
Leo Arias
b74566e4ea
docstring: add missing space
2018-04-23 21:47:53 +00:00
chriseth
e685f9f59e
Merge pull request #3976 from ethereum/emptyTupleComponent
...
Empty tuple components should not be possible
2018-04-23 17:35:00 +02:00
Alex Beregszaszi
1ac0090f31
The "year" denomination is deprecated
2018-04-23 16:19:51 +01:00
Alex Beregszaszi
75faed7c55
Add more denomination tests
2018-04-23 16:14:39 +01:00
Erik Kundt
896018c8a3
Treats inline array as an error.
2018-04-23 17:11:41 +02:00
Alex Beregszaszi
6d26ad1e61
Extract subdenomination tests
2018-04-23 16:10:10 +01:00
Erik Kundt
b2ff9bc88d
Turns it into warning (error for 0.5.0) and adds Changelog entry.
2018-04-23 17:09:42 +02:00
Erik Kundt
f2b58de92c
Prevents null type from being used in tuple.
2018-04-22 16:54:33 +02:00
Alex Beregszaszi
0493e3b053
Turn deprecated warnings for sha3/suicide into errors (experimental 0.5.0)
2018-04-20 17:40:48 +01:00
Alex Beregszaszi
edd20ebefb
Extract syntax tests
2018-04-20 17:38:16 +01:00
Alex Beregszaszi
65345162b4
Update tight packing test cases
2018-04-20 12:01:51 +01:00
Alex Beregszaszi
069ea38916
Make literals an error for tight packing (experimental 0.5.0)
2018-04-20 11:58:16 +01:00
Alex Beregszaszi
38460d8b47
Remove unnecessary masking of the result of known short instructions
2018-04-19 23:59:06 +01:00
chriseth
2546a274ca
Merge pull request #3941 from ethereum/bytes-contract
...
Disallow explicit conversion of bytesXX to contract
2018-04-19 16:10:15 +02:00
Alex Beregszaszi
754d79edfa
Disallow explicit conversion of bytesXX to contract
2018-04-19 15:58:14 +02:00
chriseth
6407f1f7bb
Merge pull request #3932 from ethereum/betterErrorForFailedLookup
...
Better error for failed lookup
2018-04-19 14:25:12 +02:00
Alex Beregszaszi
d577f06ad8
Merge pull request #3928 from ethereum/removeZeppelinPatches
...
Remove Zeppelin patches.
2018-04-19 00:25:48 +01:00
chriseth
a94945dfe4
Improve error message for failed member lookup.
2018-04-18 22:56:45 +01:00
chriseth
17beac1e07
Extract tests.
2018-04-18 22:52:29 +01:00
chriseth
4895864302
Warn about functions named "constructor".
2018-04-18 21:23:09 +02:00
chriseth
e22929ebb8
Remove Zeppelin patches.
2018-04-18 18:14:45 +02:00
chriseth
29a97f1641
Fix name clashes between constructor and fallback function.
2018-04-18 14:24:35 +02:00
chriseth
f510348ff1
Extract tests.
2018-04-18 14:24:35 +02:00
chriseth
3d04d83297
Merge pull request #3868 from ethereum/bytescleanup
...
Properly force-clean for shortening bytesXX conversions.
2018-04-16 15:23:36 +02:00
chriseth
533d08517f
Merge pull request #3793 from ethereum/rationalNumberLimit
...
Rational number limit
2018-04-16 13:10:50 +02:00
chriseth
bf57500e25
Tests for bytes cleanup.
2018-04-16 12:47:38 +02:00
Erik Kundt
33fbf88707
Limits rational numbers to 4096 bits.
2018-04-16 11:45:55 +02:00
chriseth
95c49b367e
Merge pull request #3875 from ethereum/constructorSelfRef
...
Stricter check for "this" in constructor.
2018-04-13 18:39:31 +02:00
Daniel Kirchner
be37e3a912
Stricter check for member access to "this" in constructor.
2018-04-13 15:57:13 +02:00
Erik Kundt
6c656a9391
Adds unit test that covers long typeDescription and renames suite.
2018-04-12 21:14:50 +02:00
Erik Kundt
34da3e634f
Separates tests for legacy and compact output.
2018-04-12 21:14:50 +02:00
Erik Kundt
824008340a
Adds type expectations to legacy tests.
2018-04-12 21:14:50 +02:00
Erik Kundt
8935c0dd2f
Uses short string representation of TypePointer
2018-04-12 21:14:50 +02:00
chriseth
7054defdd6
Merge pull request #3364 from ethereum/revertWithReason
...
Revert with reason
2018-04-12 21:01:08 +02:00
chriseth
44416d1ac6
Merge pull request #2980 from ethereum/abi-api
...
Add abi.encode and abi.encodePacked
2018-04-12 20:55:03 +02:00
chriseth
966367305a
Remove dead code and clarify throw.
2018-04-12 20:13:16 +02:00
Daniel Kirchner
db40bd46af
Add additional test for `var
` for storage variables.
2018-04-12 16:46:35 +02:00
chriseth
75b8828666
Allow struct encoding with new encoder.
2018-04-12 16:37:16 +02:00
Daniel Kirchner
6862f22943
Fix internal compiler error when parsing `var
` declaration without identifier.
2018-04-12 14:57:14 +02:00
chriseth
b25598126e
Update documentation and minor changes.
2018-04-12 13:09:38 +02:00
chriseth
4faa839813
Use error signature for revert data.
2018-04-12 13:09:38 +02:00
chriseth
338a875134
Update expectation.
2018-04-12 13:09:38 +02:00
chriseth
e133b1a0cd
Adjust expectations in case of homestead VM.
2018-04-12 13:09:38 +02:00
chriseth
42c4c78390
Adjust tests.
2018-04-12 13:09:38 +02:00
chriseth
167ee2fcbb
Update source location tests.
2018-04-12 13:09:38 +02:00
chriseth
aa715f8759
Tests about error bubbling for create and transfer.
2018-04-12 13:09:38 +02:00
chriseth
7a9ee69e98
Bubble up error messages.
2018-04-12 13:09:38 +02:00
chriseth
ae1d040285
Allow error string for `require
`.
2018-04-12 13:09:37 +02:00
chriseth
a06249c984
Tests for revert with reason string.
2018-04-12 13:09:37 +02:00
chriseth
c3dc67d0e0
Merge pull request #3848 from ethereum/constantDivisionByZero
...
Error on invalid arithmetic with constant expressions.
2018-04-12 11:49:08 +02:00
Daniel Kirchner
d42476e241
Add test to check ConstantEvaluator for pure non-rational functions.
2018-04-12 11:33:54 +02:00
chriseth
7343c40283
Check partial function parameters if rest is arbitrary.
2018-04-12 00:10:25 +02:00
chriseth
c4a6a63f36
Tests for view and pure.
2018-04-12 00:10:25 +02:00
chriseth
44c0d7ca5e
Tests.
2018-04-12 00:10:25 +02:00
Daniel Kirchner
932915633b
Add tests for literal operations as well.
2018-04-11 23:20:40 +02:00
Alex Beregszaszi
d56acb68ab
Add abi.encode, abi.encodePacked, abi.encodeWithSelector and abi.encodeWithSignature.
2018-04-11 22:32:10 +02:00
chriseth
b5a696ad48
Properly cope with constructor headers.
2018-04-11 22:00:21 +02:00
chriseth
52f68d3b63
Update expectations.
2018-04-11 22:00:21 +02:00
chriseth
4e1ea0866d
Extract modifier tests.
2018-04-11 22:00:21 +02:00
chriseth
2ad1acaf72
Warn if modifiers are applied to functions without implementation.
2018-04-11 22:00:21 +02:00
chriseth
42b90ad4c3
New tests for function state variables.
2018-04-11 22:00:04 +02:00
chriseth
08e807aea0
Add expectations.
2018-04-11 22:00:04 +02:00
chriseth
bd27ce0e25
Extract function type tests.
2018-04-11 22:00:04 +02:00
chriseth
ae3fca6db2
Merge pull request #3863 from ethereum/fixGasEstimation
...
Correctly ignore costs of fallback for other functions.
2018-04-11 21:53:41 +02:00
Daniel Kirchner
daa69df447
Error on invalid arithmetic with constant expressions.
2018-04-11 21:17:10 +02:00
chriseth
928ce08845
Correctly ignore costs of fallback for other functions.
2018-04-11 19:42:34 +01:00
Daniel Kirchner
cb548f6f53
Fix ConstantEvaluator to correctly handle single element tuples.
2018-04-11 18:30:34 +02:00
Daniel Kirchner
fdcbf1337a
Syntax Tests: extract array_length_* tests.
2018-04-11 18:01:24 +02:00
chriseth
d50d1f0ac1
Merge pull request #3580 from ethereum/asm-bitshift-optim
...
Add simplification rule for bitwise shifting
2018-04-11 17:18:31 +02:00
chriseth
05781c955b
Fix line numbers for errors.
2018-04-11 16:37:49 +02:00
chriseth
c9bdbcf470
Merge pull request #3309 from ethereum/limit-errors
...
Limit the number of errors output in a single run to 256
2018-04-11 16:13:41 +02:00
Jason Cobb
3b7b962b66
Fix bug in typechecking when comparing rational literals
2018-04-11 12:03:08 +02:00
Alex Beregszaszi
2e73ef5ac5
Ignore shift warnings on constantinople tests
2018-04-10 15:29:55 +01:00
Alex Beregszaszi
5f76f47f2e
Add end to end tests for SHL/SHR/SAR instructions (constantinople only)
2018-04-10 15:29:54 +01:00
Daniel Kirchner
f03695731b
Add source locations to syntax test expectations.
2018-04-10 14:08:22 +02:00
Daniel Kirchner
3eedbc6a9c
Error when using no parentheses in modifier-style constructor calls.
2018-04-10 12:09:34 +02:00
Daniel Kirchner
b918a105a4
Move constructor argument override check to TypeChecker and reuse annotations in ContractCompiler.
2018-04-09 15:26:08 +02:00
Daniel Kirchner
b8fdb666e2
Allow duplicated constructor calls, if no arguments; support for multiple inheritance; backwards compatibility.
...
# tmp
2018-04-09 15:26:05 +02:00
Federico Bond
4e037281ac
Error on duplicated super constructor calls
2018-04-09 11:22:35 +02:00
chriseth
a38418f0d9
Common subexpression eliminator.
2018-04-06 15:16:29 +02:00
Alex Beregszaszi
d5f40c141b
Limit the number of errors output in a single run to 256
2018-04-06 13:52:19 +02:00
chriseth
5b1c0506fa
Allow `memory
` suffix for internal elementary type parsing.
2018-04-05 16:06:04 +02:00
chriseth
95b0589f77
Merge pull request #3828 from ethereum/soltest
...
Show JSON error if jsonParseStrict failed in soltest
2018-04-05 15:22:26 +02:00
chriseth
2d22549f64
Merge pull request #3827 from ethereum/constantinople
...
Support constantinople in soltest
2018-04-05 15:21:45 +02:00
Daniel Kirchner
037eba20fc
Merge pull request #3824 from ethereum/baseArgumentsEmptyParenthesis
...
Error when using empty parentheses for base class constructors that r…
2018-04-05 14:43:28 +02:00
Alex Beregszaszi
ac6a30442f
Support constantinople in soltest
2018-04-05 12:11:24 +02:00
Alex Beregszaszi
36d6c27e68
Merge pull request #3745 from ethereum/fixRecursion
...
Fix invalid recursion errors for structs
2018-04-05 12:04:54 +02:00
Alex Beregszaszi
7f232358bb
Show JSON error if jsonParseStrict failed in soltest
2018-04-05 11:59:31 +02:00
chriseth
c6da5c1650
Merge pull request #3822 from ethereum/swap-comparison
...
Replace comparison operators with opposites if preceded by SWAP1
2018-04-05 11:57:26 +02:00
Daniel Kirchner
96eff0ff6a
Error when using empty parenthesis for base class constructors that require arguments.
2018-04-05 11:52:22 +02:00
Alex Beregszaszi
8dc9113e37
Add end-to-end test for SwapComparison and CommutativeSwap peephole optimisers
2018-04-05 10:54:39 +02:00
Alex Beregszaszi
02ea0e547f
Replace comparison operators with opposites if preceded by SWAP1
2018-04-04 17:47:58 +02:00
chriseth
65f18a18de
More specific push implementation.
2018-04-04 16:50:45 +02:00
chriseth
016f562348
Merge pull request #3808 from ethereum/parserTests
...
SyntaxTests: extend syntax tests and isoltest to support parser error…
2018-04-04 14:52:01 +02:00
chriseth
0cbe55005d
Create empty dynamic memory arrays more efficiently.
2018-04-04 12:37:04 +02:00
Alex Beregszaszi
920de496ab
Merge pull request #3798 from ethereum/commutative-swap
...
Remove useless SWAP1 in front of commutative operations
2018-04-04 08:15:24 +02:00
Daniel Kirchner
87ad337ae0
Adds parsing sub-directory in syntaxTests and moves two example tests from SolidityParser.cpp to test contracts.
2018-04-03 19:54:46 +02:00
Daniel Kirchner
6f9644add1
SyntaxTests: extend syntax tests and isoltest to support parser errors and compiler exceptions.
2018-04-03 19:54:45 +02:00
Alex Beregszaszi
be6051bead
Test multiple instructions with the (non)commutative peephole optimiser
2018-04-03 18:57:28 +02:00
Alex Beregszaszi
17bcabb6cf
Remove useless SWAP1 in front of commutative operations
2018-04-03 18:57:07 +02:00
Daniel Kirchner
c98464db06
Remove redundant test and enforce success without warnings.
2018-04-03 18:21:55 +02:00
Daniel Kirchner
d664a599e6
Constructors are defined using the `constructor
` keyword.
2018-04-03 18:21:55 +02:00
Alex Beregszaszi
0edce4b570
Merge pull request #3693 from ethereum/optimizeMLOAD
...
Optimize across MLOAD if MSIZE is not used.
2018-04-03 15:58:11 +01:00
chriseth
8fdbd19a05
Extract constant cycle tests.
2018-04-03 16:29:18 +02:00
chriseth
5bdadff0d8
Fix detection of recursive structs.
2018-04-03 16:27:28 +02:00
chriseth
c42caedec2
Extract recursive struct tests.
2018-04-03 16:27:28 +02:00
Alex Beregszaszi
7753249f64
Merge pull request #3699 from ethereum/interfaceExternalVisibility
...
Defaults to external visibility for interfaces.
2018-04-03 15:15:36 +01:00
chriseth
a54fdc495f
Fix: Treat empty base constructor argument list as not provided.
2018-04-03 14:53:48 +02:00
chriseth
e64e397f24
Add memory array init test.
2018-04-03 14:34:32 +02:00
chriseth
138dba1a3f
Test number of sstore operations.
2018-04-03 14:34:32 +02:00
chriseth
6777f7a57f
Optimize across MLOAD if MSIZE is not used.
2018-04-03 14:34:32 +02:00
Erik Kundt
f9efa41749
Makes visibility warning more concise.
2018-04-03 11:16:50 +02:00
Erik Kundt
601659c384
Moves all interface function visibility related tests.
2018-04-03 11:16:50 +02:00
bitshift
8fe1cfb12e
Defaults to external visibility for interfaces.
2018-04-03 11:16:44 +02:00
Jason Cobb
e37b619593
Set default fixed point decimal places to 18
2018-03-31 00:56:36 +01:00
Alex Beregszaszi
076c0754ea
Update tests for empty structs
2018-03-31 00:27:01 +01:00
chriseth
326d656a55
Merge pull request #3790 from ethereum/empty-structs
...
Disallow empty structs
2018-03-30 13:58:35 +02:00
chriseth
5c8a6aac69
Prevent encoding of weird types and support packed encoding of external function types.
2018-03-29 09:57:11 +01:00
Anthony Broad-Crawford
8a18f22b87
Support for error on non-existant or irregular files with command line option to ignore
2018-03-28 10:25:43 +01:00
chriseth
3bb54e8bd5
Merge pull request #3775 from federicobond/improve-error-fractional-shift
...
Improve error message when attempting to shift by fractional number
2018-03-28 11:16:44 +02:00
Alex Beregszaszi
ebb12756ad
Still allow empty structs for non-0.5.0 mode
2018-03-27 15:49:41 +01:00
Alex Beregszaszi
b540ba527a
Disallow empty structs
2018-03-27 15:49:41 +01:00
chriseth
62559cf127
Merge pull request #3681 from ethereum/interface-external
...
Allow overriding external functions in interfaces with public in a child
2018-03-27 15:47:59 +02:00
chriseth
59538e9a04
Merge pull request #3686 from ethereum/doNotIncludeItnernal
...
Do not include internal functions only used by constructor
2018-03-27 15:28:08 +02:00
chriseth
af26228159
Merge pull request #3748 from ethereum/extractScopingTests
...
Extract scoping tests
2018-03-27 15:23:36 +02:00
chriseth
f8f50e14d2
Test that internal functions only used by constructor are not included in runtime context.
2018-03-27 04:00:12 +01:00
bitshift
2c56e53046
Changes deprecation and adjusts tests.
2018-03-27 03:30:03 +01:00
bitshift
be35a65eb3
Adds unit tests for moved function.
2018-03-27 03:30:03 +01:00
Alex Beregszaszi
ef3595b000
Allow overriding external functions in interfaces with public in an implementing contract
2018-03-26 11:35:17 +01:00
Federico Bond
b79531bebf
Improve error message when trying to shift by fractional number
2018-03-22 10:05:49 -03:00
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