Commit Graph

1829 Commits

Author SHA1 Message Date
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
chriseth
cc0f70263f Tests for returning dynamic data. 2018-03-21 14:53:29 +00:00
chriseth
c2709a2d8e Decode dynamic data. 2018-03-21 14:53:29 +00:00
Daniel Kirchner
e68c19c47b Only consider files ending with .sol and not starting with ~ in syntax tests. 2018-03-16 12:28:21 +01:00
chriseth
c9db105ad7 Extract scoping tests. 2018-03-16 00:47:32 +01:00
chriseth
ea8d5f8afc Use /usr/bin/editor if exists. 2018-03-15 18:20:23 +01:00
Daniel Kirchner
50ad89d369 Only colour error type, not error message in isoltest. 2018-03-15 16:27:54 +01:00
Daniel Kirchner
7fa892eca9 Add interactive test tool isoltest. 2018-03-15 16:23:49 +01:00
Daniel Kirchner
269241e910 Add formatted printing to SyntaxTest and expand its public interface. 2018-03-15 16:23:46 +01:00
chriseth
78abe81f08
Merge branch 'develop' into externalFunctionsInLibraries 2018-03-14 18:07:55 +01:00
chriseth
d0c96d53e9
Merge pull request #3734 from ethereum/soltestOptions
test: Rename test/TestHelper.* to test/Options.* and add Options::val…
2018-03-14 18:05:48 +01:00
chriseth
abc7a45230
Merge pull request #3725 from ethereum/blockhashNoCall
Allow ``block.blockhash`` without it being called.
2018-03-14 18:04:40 +01:00
Alex Beregszaszi
59658afa30
Merge pull request #3722 from ethereum/fixMods
Fix modifier lookup in libraries.
2018-03-14 17:20:51 +01:00
chriseth
c3f07b5294
Merge pull request #3730 from ethereum/docstringBug
DocStringParser: Fix error message for empty parameter description.
2018-03-14 16:21:29 +01:00
Daniel Kirchner
d63d41b3b5 test: Rename test/TestHelper.* to test/Options.* and add Options::validate(). 2018-03-14 12:04:04 +01:00
Daniel Kirchner
1882c508c6 soltest: force the use of the --testpath option for soltest with an explicit error. 2018-03-14 10:45:01 +01:00
Daniel Kirchner
9d079fd126 DocStringParser: Add Changelog entry and test case for empty descriptions. 2018-03-14 10:34:16 +01:00
Daniel Kirchner
09420f1a44 Store filenames in static variable to guarantee sufficient lifetime. 2018-03-13 18:14:57 +01:00
chriseth
834d63de2c Allow `block.blockhash` without being called. 2018-03-13 17:34:21 +01:00
chriseth
eecc26deec Make external library functions accessible. 2018-03-13 17:18:46 +01:00
chriseth
51f9e350b1 Tests. 2018-03-13 16:55:41 +01:00
chriseth
58af150c3d Changelog entry. 2018-03-13 16:55:41 +01:00
Daniel Kirchner
7091b6c8b5 Minor adjustments. 2018-03-13 12:30:56 +01:00
Daniel Kirchner
3232561d97 Refactoring; fuse SyntaxTestParser and SyntaxTester to SyntaxTest. 2018-03-13 11:20:11 +01:00
Daniel Kirchner
317c1f7fa3 Workaround for boost < 1.59.0 2018-03-13 11:20:11 +01:00
Daniel Kirchner
49eaf7c3fd Infrastructure for extracting syntax tests in separate test files. 2018-03-13 11:20:11 +01:00
Leonardo Alt
c2d26eb6a2 [SMTChecker_Bool] Fix PR comments; Add support to gt, ge, lt, le. and tests. 2018-03-12 20:16:47 +01:00
Leonardo Alt
6a940f0a99 [SMTChecker] Support to Bool variables 2018-03-12 20:16:47 +01:00
chriseth
886dc0512c
Merge pull request #3708 from ethereum/moveTestTools
Move test tools to the subdirectory test/tools and adjust CMakeLists
2018-03-12 20:09:07 +01:00
Daniel Kirchner
121f87b043 Move test tools to the subdirectory test/tools and adjust CMakeLists.txt. 2018-03-12 18:40:20 +01:00
Alex Beregszaszi
a59d6d2e53 Support constantinople in evm-version 2018-03-12 18:13:19 +01:00
chriseth
ea48d8ade3 Fix test. 2018-03-06 20:15:43 +01:00
Alex Beregszaszi
ba8819542f
Merge pull request #3611 from ethereum/warn-using-address-overload
Warn if using address overloads on contracts
2018-03-06 19:13:55 +01:00
chriseth
84d711fd1d Tests for warnings/errors for loose assembly. 2018-03-06 17:45:34 +01:00
chriseth
fd1662d1c4 Warn about using loose inline assembly features as experimental 0.5.0 feature. 2018-03-06 17:45:34 +01:00
Alex Beregszaszi
14b12ae745
Merge pull request #2966 from ethereum/useStaticCall
Use STATICCALL for pure function calls.
2018-03-06 17:07:03 +01:00
Alex Beregszaszi
83dacbf669
Merge pull request #3549 from ethereum/fixmultidim
Properly detect which array and struct types are unsupported by the old ABI encoder.
2018-03-06 15:51:17 +01:00
chriseth
a3593df43b Test for using staticcall for view and pure functions. 2018-03-06 15:30:18 +01:00
chriseth
f6c0daec14
Merge pull request #3652 from ethereum/gasleft_v2
Use StaticAnalyzer to deprecate msg.gas instead of conditionally remo…
2018-03-06 09:26:14 +01:00
Daniel Kirchner
91b13b734d Use StaticAnalyzer to deprecate msg.gas instead of conditionally removing it in MagicType. 2018-03-05 23:16:26 +01:00
chriseth
3793aa405b
Merge pull request #3643 from ethereum/gasleft
Move msg.gas to global function gasleft(). Closes #2971.
2018-03-05 20:11:37 +01:00
Daniel Kirchner
2213f9946b Improved gasleft tests. 2018-03-05 18:45:02 +01:00
Alex Beregszaszi
fd60c1cf86 Warn if using address overloads on contracts 2018-03-05 15:50:27 +01:00
Daniel Kirchner
29fb5fe1c9 Add test cases for shadowing gasleft with local functions/variables. 2018-03-05 13:28:57 +01:00
Daniel Kirchner
298bdeec49 Remove unstable test case. 2018-03-05 13:28:27 +01:00
chriseth
477571e190 Do not warn about 0.5.0 experimental pragma. 2018-03-05 12:14:44 +01:00
chriseth
6dc137317f
Merge pull request #3569 from ethereum/evmVersion
EVM version
2018-03-05 12:10:49 +01:00
chriseth
6ec4517929 Use EVM version in gas meter and optimizer. 2018-03-05 11:36:33 +01:00
Daniel Kirchner
c633c0eacb Move msg.gas to global function gasleft(). Closes #2971. 2018-03-05 11:18:04 +01:00
chriseth
5982869e94
Merge pull request #3633 from ethereum/reserved-keywords-test
Parser: Add test case for reserved keywords.
2018-03-02 11:41:21 +01:00
chriseth
f78d6a9a1e
Merge pull request #3628 from ethereum/literalsHexUnit
Deprecate using unit denominations in combination with hex numbers.
2018-03-02 11:11:16 +01:00
Daniel Kirchner
0f64648203 Parser: Add test case for reserved keywords. 2018-03-02 10:45:28 +01:00
Alex Beregszaszi
5a54cd5c70 Only warn for shift instructions if not using constantinople 2018-03-01 17:19:35 +01:00
chriseth
982476f99d Add TangerineWhistle. 2018-03-01 17:19:35 +01:00
chriseth
7b0272ccfb CREATE2 test fix. 2018-03-01 17:19:35 +01:00
chriseth
1e26011d2c Returndatasize and staticcall test fixes. 2018-03-01 17:19:35 +01:00
chriseth
05cc5f22b2 Correctly set evm version in tests 2018-03-01 17:19:35 +01:00
chriseth
739533e9c7 Activate byzantium for testing. 2018-03-01 17:19:35 +01:00
chriseth
dc317a44e0 Provide EVM version to assembly analysis. 2018-03-01 17:19:35 +01:00
chriseth
a53d6b499d Use EVM version in type checker. 2018-03-01 17:19:35 +01:00
chriseth
f2f61f1c2f Test both EVM versions. 2018-03-01 17:19:35 +01:00
chriseth
60f7be5d4c Some tests. 2018-03-01 17:19:35 +01:00
Daniel Kirchner
bd4c2b9bde Deprecate using unit denominations in combination with hex numbers. Closes #3574. 2018-03-01 16:58:55 +01:00
chriseth
7540763196 Tests for multi-dimensional arrays. 2018-03-01 14:28:27 +01:00
Alex Beregszaszi
b6dfd9ef54 Ensure that library addresses supplied are of correct length and hex prefixed in JSONIO 2018-03-01 12:03:56 +01:00
chriseth
9e3da89a7a
Merge pull request #3607 from izgzhen/complain-unknown-params
stop allow_guessing for command line option parser
2018-02-28 17:42:14 +01:00
chriseth
7938339572
Merge pull request #3617 from ethereum/jsonio-libraries
Add more comprehensive tests and checks for libraries in JSONIO
2018-02-28 17:40:29 +01:00
chriseth
fb8c4bd7c2
Merge pull request #3615 from ethereum/test-framework
Simplify contract compilation in the test framework
2018-02-28 16:35:22 +01:00
chriseth
22d26e059c
Merge pull request #3613 from ethereum/require-visibility
Issue error if no visibility is specified (on 0.5.0)
2018-02-28 16:33:39 +01:00
Alex Beregszaszi
7897301b71 Properly validate invalid hex characters in JSONIO libraries 2018-02-28 10:44:48 +01:00
Alex Beregszaszi
83fec0232d Add more comprehensive tests and checks for libraries in JSONIO 2018-02-28 10:36:07 +01:00
Zhen Zhang
5fd9ea4b2a Stop allow_guessing for command line option parser 2018-02-28 09:31:24 +08:00
Alex Beregszaszi
0346f72342 Use compileContract in contract tests 2018-02-27 20:08:24 +01:00
Alex Beregszaszi
029e19983c Split compileContract off compileAndRunWithoutCheck in SolidityExecutionFramework 2018-02-27 20:08:24 +01:00
chriseth
908b46e9a7
Merge pull request #3476 from ethereum/scoping
C99/C++ scoping rules
2018-02-27 17:06:10 +01:00
Alex Beregszaszi
a566825589 Issue error if no visibility is specified (on 0.5.0) 2018-02-27 16:31:53 +01:00
Alex Beregszaszi
2abc5be7e6
Merge pull request #2541 from ethereum/asm-bitshift
Add bit shifting opcodes (EIP145)
2018-02-27 14:47:07 +01:00
Alex Beregszaszi
6512bfbcea
Merge pull request #3601 from ethereum/circleParallel
Parallelize tests on circle.
2018-02-27 13:54:45 +01:00
Alex Beregszaszi
73c5d99bfa Add basic test for shift opcodes 2018-02-27 13:43:04 +01:00
chriseth
d64aa0eaad Some more scoping tests. 2018-02-27 12:41:32 +01:00
chriseth
88a5c66f4a Only active variables at the point of their declaration. 2018-02-27 12:17:25 +01:00
chriseth
6b9dda06f3 Enable C99-scoping with the 0.5.0-experimental pragma. 2018-02-27 12:17:25 +01:00
chriseth
0005990382 Tests for new scoping behaviour. 2018-02-27 12:17:25 +01:00
chriseth
69f5f2eb65 Adjust tests. 2018-02-27 12:17:25 +01:00
chriseth
6a83beaab5 Run tests in parallel on circle. 2018-02-27 12:08:27 +01:00
Alex Beregszaszi
5c0d82059f Turn throw into a syntax error for 0.5.0 2018-02-27 02:10:24 +01:00
Alex Beregszaszi
b62d43912b
Merge pull request #3589 from ethereum/identifiers
Clean up type identifiers
2018-02-26 20:27:26 +01:00
Alex Beregszaszi
0736d91eaa Add test for escapeIdentifier 2018-02-26 19:09:44 +01:00
chriseth
8ae6a76c58 Test data location of getter return type. 2018-02-26 11:17:32 +01:00
Alex Beregszaszi
4d1b969543 Use readStandardInput in the fuzzer 2018-02-23 09:05:04 +01:00
chriseth
b5a3b6a429 Parser test. 2018-02-22 15:17:43 +01:00
chriseth
ad010f557b Tests for warnings. 2018-02-22 15:17:43 +01:00
chriseth
388718b59f Introduce emit statement. 2018-02-22 15:17:30 +01:00
chriseth
c182284d28 Do not warn about analysis-only experimental features. 2018-02-22 14:50:20 +01:00
Alex Beregszaszi
ae02bb5aad Raise error on oversized number literals in assembly 2018-02-22 01:02:19 +01:00
chriseth
98324d6c89
Merge pull request #3555 from ethereum/libraryTestCallInput
Provide proper input for test call.
2018-02-21 17:23:41 +01:00