Yoichi Hirai
85411f4f67
Merge pull request #1736 from ethereum/boundoptimizer
...
Add upper bound for computing constants.
2017-03-08 12:11:16 +01:00
chriseth
774cdb1135
Tests for warning about literal constant base in exponentition.
2017-03-07 13:43:51 +01:00
chriseth
bb06569dc6
Disallow octal literals.
2017-03-07 12:34:32 +01:00
chriseth
a2ac05e1a2
Merge pull request #1733 from ethereum/selfReferentialConstant
...
Detect cyclic dependencies between constants.
2017-03-06 17:18:39 +01:00
chriseth
5c5d83fd70
Check for circular references in constant variables.
2017-03-06 15:05:09 +01:00
chriseth
d089a1ef2b
Tests for cyclic dependencies between constants.
2017-03-06 15:05:09 +01:00
chriseth
fe5f85ef34
Test for array singletons.
2017-03-06 14:42:28 +01:00
chriseth
c89a579809
Test for uninitialized mapping.
2017-03-06 14:27:18 +01:00
chriseth
0479f7f16c
Test for trying to construct an inconstructible contract before its definition.
2017-03-06 14:12:42 +01:00
Yoichi Hirai
cfbbd89daf
Merge pull request #1702 from ethereum/assertError
...
Change effect of assert to invalid opcode.
2017-03-03 18:25:50 +01:00
chriseth
05dac99922
Tests for optimizing constants.
2017-03-03 16:51:29 +01:00
chriseth
2600fa0413
Test for declaring variable with empty tuple type.
2017-03-02 14:33:58 +01:00
chriseth
f35b70f3a3
Test case for external function type with calldata argument.
2017-03-01 15:53:24 +01:00
chriseth
673268a6f8
Merge pull request #1651 from ethereum/transfer-method
...
Add address.transfer(value)
2017-02-24 15:42:52 +01:00
chriseth
6bbba106a7
Merge pull request #1710 from ethereum/strictasmtests
...
Check error messages for assembly tests.
2017-02-24 08:26:16 +01:00
Alex Beregszaszi
4d290e551c
Disallow setting .gas() on .transfer()
2017-02-24 00:27:36 +00:00
Alex Beregszaszi
cde027d144
Fix test for gas overloading in .transfer()
2017-02-24 00:18:18 +00:00
Alex Beregszaszi
81006dae98
Support gas modifier on addr.transfer()
2017-02-24 00:18:18 +00:00
Alex Beregszaszi
ba437ef31a
Add type checking test for address methods
2017-02-24 00:18:18 +00:00
Alex Beregszaszi
16e48219d3
Add test for address.transfer()
2017-02-24 00:17:45 +00:00
chriseth
4b1e8111cc
Remove assert for now.
2017-02-23 19:43:40 +01:00
chriseth
5cd01ab7d1
Test for unbalanced stack due to loading two values from outside.
2017-02-20 12:33:22 +01:00
chriseth
50894c6af8
Fix compiler warning.
2017-02-20 11:57:50 +01:00
chriseth
d794d35e50
Also check imbalanced stack.
2017-02-20 11:42:23 +01:00
chriseth
354f92f813
Check error messages for assembly tests.
2017-02-17 16:39:51 +01:00
chriseth
7bdc4ddab2
Merge pull request #1627 from ethereum/asmfunctions
...
Parsing assembly function definitions and calls.
2017-02-16 20:12:31 +01:00
chriseth
e629cf5bc3
Test case.
2017-02-16 14:57:00 +01:00
chriseth
01fcd989b5
More tests.
2017-02-16 10:18:16 +01:00
chriseth
49a919b3e0
Parsing function calls.
2017-02-16 10:15:22 +01:00
chriseth
5d584aded8
Parsing function definitions.
2017-02-16 10:15:22 +01:00
chriseth
5e8a1e0ae6
Test for unicode string literals.
2017-02-15 15:21:11 +01:00
chriseth
58849cb1d5
Tests for printing assembly.
2017-02-14 15:41:25 +01:00
chriseth
e67faa9839
Extract scopes into compiler stack.
2017-02-14 13:23:44 +01:00
chriseth
fc8e50f688
Refactor NameAndTypeResolver and SyntaxChecker to allow other entry points.
2017-02-14 13:23:44 +01:00
chriseth
0d8a9c3289
Merge pull request #1661 from ethereum/asm-revert
...
Implement REVERT (EIP140)
2017-02-13 14:56:22 +01:00
chriseth
e2349f9d5d
Merge pull request #1676 from ethereum/test-modifytimestamp
...
Add blockTimestamp and do not rely on mining time (soltest)
2017-02-13 14:54:06 +01:00
Alex Beregszaszi
30cfad3548
Check for state changes in revert() tests
2017-02-10 22:44:29 +00:00
Alex Beregszaszi
f26fe5bc1c
Add tests for revert()
2017-02-10 22:44:29 +00:00
Alex Beregszaszi
8429c03f2a
Add tests for assert()
2017-02-10 13:29:17 +00:00
Alex Beregszaszi
a82acba49a
Compare start/end timestamp
2017-02-10 13:26:11 +00:00
Alex Beregszaszi
4cf44f1b41
Do not use modifyTimestamp where not needed
2017-02-10 13:24:56 +00:00
Alex Beregszaszi
697db80b48
Disallow arrays with negative length
2017-02-02 00:24:45 +00:00
Alex Beregszaszi
ee147e14d3
Cover both failure cases
2017-02-01 21:35:32 +00:00
Alex Beregszaszi
0b61f13c7f
Add more tests for function type conversion
2017-02-01 12:23:47 +00:00
Alex Beregszaszi
ef7add8c2b
Add tests for explicity fuction type to address casting
2017-02-01 12:23:47 +00:00
Alex Beregszaszi
eb530aa217
Add tests for invalid instruction
2017-01-27 21:24:58 +00:00
chriseth
b2c35fb41a
Merge pull request #1598 from wuestholz/develop
...
Change translation of implicit throws
2017-01-27 14:10:22 +01:00
chriseth
636e480156
Merge pull request #1451 from LefterisJP/fix_build
...
Accept any kind of whitespace after natspec tags
2017-01-27 14:09:39 +01:00
Lefteris Karapetsas
f01c8c07e5
Tests for natspect parsing failure cases
2017-01-27 12:13:14 +01:00
Lefteris Karapetsas
cc7834f2a9
Doc tags followed by newline are now parsed properly
2017-01-27 00:00:05 +01:00
chriseth
a9c6ff4ac8
Refactor json return type generation.
2017-01-26 18:21:19 +01:00
Valentin Wüstholz
5b7cc018f0
Address feedback from code review.
2017-01-26 16:39:07 +01:00
Valentin Wüstholz
9bcbd93ac5
Change translation of implicit throws (issue #1589 ).
...
This adds a new invalid instruction that is used for encoding
implicit throws that are emitted by the compiler. This makes it
possible to distinguish such runtime errors from user-provided,
explicit throws.
2017-01-26 16:39:07 +01:00
Alex Beregszaszi
102fd7ee5d
Merge pull request #1604 from ethereum/checksums
...
Warn about invalid checksums of addresses.
2017-01-26 14:42:34 +00:00
chriseth
873f2dddd6
Update error message.
2017-01-26 13:52:02 +01:00
chriseth
525758a130
Disallow assignment to non-identifiers.
2017-01-26 13:40:40 +01:00
chriseth
946a63c26f
Add test for assignment.
2017-01-25 17:27:01 +01:00
chriseth
27ba665694
Moved test.
2017-01-25 17:24:43 +01:00
Alex Beregszaszi
7ff44bec94
Add test for shadowing inline assembly instruction
2017-01-25 11:28:09 +00:00
Lefteris Karapetsas
9ca0fde853
Fix and better output for tests
2017-01-25 11:01:52 +01:00
Lefteris Karapetsas
5738e865d5
Accept any kind of whitespace after natspec tags
2017-01-25 11:01:52 +01:00
chriseth
1316bb7565
Warn about invalid checksums of addresses.
2017-01-24 23:37:48 +01:00
chriseth
8e5f1c0d50
Test double inclusion of bytecode.
2017-01-24 17:41:31 +01:00
chriseth
dea59bfbdc
Test for initializing recursive structs.
2017-01-24 12:06:40 +01:00
chriseth
b52a60402d
Merge pull request #1245 from ethereum/1215
...
Allow multiple events of the same name
2017-01-24 11:52:21 +01:00
Yoichi Hirai
3d8b56c2a4
test: add tests about functions and events of the same name
2017-01-23 15:25:13 +01:00
Yoichi Hirai
8dc306d62b
test: add a test case about inheriting multiple events of the same name
2017-01-23 15:25:13 +01:00
Yoichi Hirai
567139486f
test: somehow log counting system has changed
2017-01-23 15:25:13 +01:00
Yoichi Hirai
4c09e81c3e
test: check the results of function calls in the test for multiple events of the same name
2017-01-23 15:25:13 +01:00
Yoichi Hirai
133d1c05e1
test: fixing inconsistent usage of end-to-end test framework
2017-01-23 15:25:13 +01:00
Yoichi Hirai
0e85e35a7f
test: Add an end-to-end test about multiple events of the same name
...
See #1215
2017-01-23 15:25:13 +01:00
Yoichi Hirai
5a56496db9
test: Add a test for #1215
...
using the original example from @pipermerriam
2017-01-23 15:25:13 +01:00
chriseth
df4ef74199
Add tests for internal constructor.
2017-01-20 19:22:39 +01:00
chriseth
7159944f0f
Reset AST node IDs between compilation runs.
2017-01-20 12:00:16 +01:00
chriseth
da178d967f
Properly escape user strings and lists.
2017-01-19 13:23:58 +01:00
chriseth
3fed790a56
Type identifiers.
2017-01-19 13:23:57 +01:00
chriseth
d3a391c136
Provide fallback for linking.
2017-01-18 17:41:36 +01:00
Rhett Aultman
88a2ac25e5
Revert "Fix contract lookup in tests"
...
This reverts commit f8914c6b28
.
2017-01-16 18:07:48 -05:00
Rhett Aultman
fda39afdba
Modify library collision test
...
Since libaraies no longer collide on name but on fully-qualified name,
you can only induce collision by colliding them as idenfitiers.
2017-01-16 12:32:58 -05:00
Rhett Aultman
a7f8a1986a
Revert "Move clashing libraries to common source in test"
...
This reverts commit c4a9ca5cfe7a8b4ba9d2d84392c57d5eefacd1f7.
2017-01-16 12:32:58 -05:00
Rhett Aultman
1f30982ab5
Use fully-qualified names for linking, too
...
Using libraries leaves behind a library link reference in the binary
which the linker must later resolve. These link references were still
being generated by name and not by fully-qualified name. This would
lead to a link-time collision between two libraries having the same
name but in different source units.
This change changes linker symbols over to fully-qualified names,
which resolves that issue. This does potentially introduce a new
problem, which is that linker symbols appear to be limited to 36
characters and are truncated. Storing paths extends the average
symbol size, and it would be great if truncation was from the tail
rather than the head.
2017-01-16 12:32:57 -05:00
Rhett Aultman
f8914c6b28
Fix contract lookup in tests
...
The fully-qualified name of a contract with no source unit is :<Name>
instead of just <Name>, so the test system needed to be adjusted
accordingly.
2017-01-16 12:32:57 -05:00
Rhett Aultman
220ccfb492
Move clashing libraries to common source in test
...
Since contracts and libraries only collide if they share a common
source file now, this test only works if both libraries are in the
same source.
2017-01-16 12:32:57 -05:00
chriseth
bde0b40634
Merge pull request #1479 from ethereum/function_variable_mixin
...
Disallow mixin of functions and attributes under the same name
2017-01-13 09:36:00 +01:00
VoR0220
b6508ca992
fixed
...
Signed-off-by: VoR0220 <rj@erisindustries.com>
2017-01-11 12:03:54 -06:00
VoR0220
4542f459f1
added fix and a test for order independence of nested prefixing
...
Signed-off-by: VoR0220 <rj@erisindustries.com>
2017-01-11 11:45:14 -06:00
Yoichi Hirai
9602318eab
test: allow multiple errors in modifier-function overriding
2017-01-11 18:28:11 +01:00
Yoichi Hirai
42b6726173
analysis: allow some shadowings explicitly
2017-01-11 18:28:11 +01:00
VoR0220
6d9020b3b8
fixed test and added solution
...
Signed-off-by: VoR0220 <rj@erisindustries.com>
2017-01-08 22:53:54 -06:00
VoR0220
4f62980d52
added test
...
Signed-off-by: VoR0220 <rj@erisindustries.com>
2017-01-08 22:53:51 -06:00
Yoichi Hirai
07f34e0023
test: add a test importing a file name starting with a period
2017-01-03 18:18:27 +01:00
Yoichi Hirai
96ca706353
test: add a test case for #1286
2017-01-02 17:58:33 +01:00
Yoichi Hirai
18f8f29c0a
Merge pull request #1487 from ethereum/shift-ops
...
Shift operators
2016-12-14 16:31:27 +01:00
chriseth
08a11e309f
Fix tests.
2016-12-13 17:02:28 +01:00
Yoichi Hirai
932e7887bd
test: add tests that tries different types on <<=
2016-12-13 16:35:42 +01:00
Federico Bond
de720e643d
Improve error message when trying to modify constant variables
2016-12-13 00:32:37 -03:00
chriseth
2fac1d23a7
Tests for bytes.
2016-12-12 11:12:12 +01:00
chriseth
7bc2ecf30a
Correct test expectations.
2016-12-12 11:12:12 +01:00
chriseth
2738045030
Cleaner shift handling and type conversion for binary operations.
2016-12-12 11:12:12 +01:00
chriseth
2df60bec92
Type after shift should be type of left operand.
2016-12-12 11:12:12 +01:00
Alex Beregszaszi
b8b4f5e9f9
Support bitshifting in variables
2016-12-12 11:12:10 +01:00
Federico Bond
05139500fb
Warn about using msg.value in non-payable function
2016-12-08 16:22:13 -03:00
chriseth
84443eb560
Merge pull request #1351 from ethereum/truncate_bit
...
Truncate a boolean from calldata into one bit
2016-12-08 16:15:35 +01:00
chriseth
e7ff4ac810
Merge pull request #1412 from ethereum/disallow-multiple-errors
...
disallow more than one errors in name and type tests
2016-12-08 16:07:46 +01:00
Yoichi Hirai
94536ccec8
test: check error messages in parser tests
2016-12-06 17:28:49 +01:00
Yoichi Hirai
1f345e527d
test: either fix tests to raise just one error, or mark them as raising multiple errors
2016-12-05 15:41:37 +01:00
Yoichi Hirai
01215694f6
test: disallow more than one errors in name and type tests
2016-12-05 15:41:37 +01:00
Federico Bond
70d246c834
Migrate remaining source code in tests to R literals
2016-12-03 17:52:51 -03:00
chriseth
5098e1eb15
Count instructions without metadata hash.
2016-12-01 16:04:47 +01:00
Alex Beregszaszi
4c15c465ef
Submit library addresses to the compiler in tests (and not link afterwards)
2016-12-01 16:04:00 +01:00
Alex Beregszaszi
c88f34c781
Remove unneeded optimised test from EndToEndTest
2016-12-01 16:04:00 +01:00
Alex Beregszaszi
1ad9640fa3
Optimizer tests to not interfere with the optimiser flag
2016-12-01 16:03:59 +01:00
chriseth
f91ae3f06b
Fix tests
2016-12-01 16:03:59 +01:00
chriseth
6a7ff039df
Use CBOR encoding.
2016-12-01 16:03:59 +01:00
chriseth
1e35526eb6
Fix tests.
2016-12-01 16:03:59 +01:00
chriseth
aa1fd6a879
Add test.
2016-12-01 16:03:59 +01:00
chriseth
5789eaa78d
Metadata stamp.
2016-12-01 16:03:59 +01:00
chriseth
55a719a79c
Merge pull request #1462 from ethereum/fix-incorrect-assertion
...
codegen: assertion did not assert non-nullness
2016-12-01 15:14:31 +01:00
chriseth
1367aef83b
Merge pull request #1461 from ethereum/reference-not-pointer
...
test: replace a pointer argument by a reference
2016-12-01 15:13:32 +01:00
chriseth
9db14ce673
Merge pull request #1458 from federicobond/r-literals
...
Use more R string literals in tests
2016-12-01 15:03:27 +01:00
chriseth
5d1d81d270
Merge pull request #1454 from ethereum/end-of-comment
...
parser: recognize an end of comment of the form `**/`
2016-12-01 12:40:52 +01:00
Yoichi Hirai
422140f603
test: more precise expectation about the error for assigning into storage in inline assembly
2016-12-01 12:27:27 +01:00
Yoichi Hirai
dd0bd57d67
test: change retrieveFunctionBySignature to take a constant reference rather than a pointer
...
The function `retrieveFunctionBySignature` expected the argument to be a non-null pointer.
This commit makes this assumption more explicit.
2016-12-01 11:53:06 +01:00
Federico Bond
29e304d3bc
Fix typos (existant -> existent)
2016-12-01 01:29:30 -03:00
Federico Bond
6ce41b566d
Use more R string literals in tests
2016-12-01 00:50:15 -03:00
Alex Beregszaszi
610027cd26
Test that contracts separated by comments are compiled
2016-11-30 23:54:02 +00:00
Yoichi Hirai
547deec4be
codegen: clean any data from the input
2016-11-30 17:42:03 +01:00
Yoichi Hirai
b16cdbb57e
test: add a test that witnesses #1318
2016-11-30 17:40:34 +01:00
Yoichi Hirai
eaab712944
parser: recognize an end of comment of the form **/
at the end of a multi-line doc comment
...
This fixes #1433
2016-11-30 17:28:07 +01:00
Alex Beregszaszi
ac357d1225
Merge pull request #1442 from ethereum/lll-testing
...
LLL: introduce testing framework
2016-11-30 15:46:20 +00:00
Alex Beregszaszi
9a6a5f219b
Fix sub-0 optimiser test
2016-11-30 11:51:00 +00:00
chriseth
4ff89dda1d
Update SolidityOptimizer.cpp
2016-11-30 11:16:43 +00:00
Alex Beregszaszi
8d0b80f944
Add test for SUB with 0 optimisation
2016-11-30 11:16:43 +00:00
Alex Beregszaszi
25c5dd48de
Rename testSolidityAgainstCpp* to testContractAgainstCpp*
2016-11-29 21:54:28 +00:00
Alex Beregszaszi
d83dd59178
Move ExecutionFramework to the dev::test namespace
2016-11-29 21:54:27 +00:00
Alex Beregszaszi
a226db7338
Split out Solidity-specific part of ExecutionFramework
2016-11-29 21:54:27 +00:00
chriseth
0933a4ff1a
Merge pull request #1429 from ethereum/unreachablepeephole
...
Some dead code elimination
2016-11-25 16:57:59 +01:00
chriseth
3a8a0708ff
Merge pull request #1381 from ethereum/overflown_enum_compared
...
Enum overflow checking before writing to storage
2016-11-25 16:22:12 +01:00
chriseth
f2872bfa99
Peephole optimizer for unreacheable code.
2016-11-25 16:10:02 +01:00
Yoichi Hirai
df5d5edd1b
test: add a test about explicitly converting a string literal to string
2016-11-25 13:54:13 +01:00
Yoichi Hirai
e136ec8704
ast: string literals that are not valid UTF are not convertible to strings
2016-11-25 13:36:06 +01:00
Yoichi Hirai
aaf58a8c4e
test: add a test case converting an invalid UTF-8 into a string
2016-11-25 13:13:47 +01:00
chriseth
9e7b608e78
Merge pull request #1392 from ethereum/check_warning_contents
...
Check warning text in tests
2016-11-24 21:22:17 +01:00
Yoichi Hirai
a81f556302
test: various fixes
2016-11-24 19:22:26 +01:00
Yoichi Hirai
384c4546f1
interface: move searchForSubstring out of Error class into a separate file
2016-11-24 16:45:17 +01:00
Yoichi Hirai
feb10d015f
test: add a test that stores an invalid enum value
2016-11-24 11:31:45 +01:00
Yoichi Hirai
d4173cd54a
test: add a test about trying to log an event with too big enum values
2016-11-24 11:31:45 +01:00
Yoichi Hirai
d49904c92a
test: add a test that compares overflown enums
2016-11-24 11:31:45 +01:00
Yoichi Hirai
2faaddca05
interface: fix the substring search
2016-11-23 17:38:41 +01:00
Yoichi Hirai
cace51fc47
test: wrapping the error message checking in a macro
2016-11-23 17:38:41 +01:00
Yoichi Hirai
ab3db782ae
test: check the error texts
...
by changing parseAnalyseAndReturnError to return the whole Error, not just the type
2016-11-23 17:38:41 +01:00
chriseth
c9293f2f23
Enable the optimizer for test runs.
2016-11-23 16:48:13 +01:00
chriseth
0c874bbf27
Merge pull request #1425 from ethereum/fixLicensing
...
Fix licensing headers
2016-11-23 12:45:57 +01:00
VoR0220
3f9f725737
Fix licensing headers
...
Signed-off-by: VoR0220 <rj@erisindustries.com>
2016-11-23 12:22:33 +01:00
Yoichi Hirai
75686e3d75
test: add a test case about returning a struct in memory from a library
...
This fixes #1378
2016-11-22 17:09:22 +01:00
chriseth
7fb7d5ae39
Optimizer: Clear state for JUMPDESTs.
2016-11-22 14:58:24 +01:00
Alex Beregszaszi
a35ca910c7
Rename test contract names to capitalised
2016-11-17 17:23:35 +00:00
Alex Beregszaszi
1d6fe5c4e4
Add payable to constructor ABI tests
2016-11-17 17:23:35 +00:00
Alex Beregszaszi
7af360882e
Add missing payable constructors
2016-11-17 17:23:35 +00:00
chriseth
2c14a96820
Some more assertions and style changes.
2016-11-16 15:09:01 +01:00
chriseth
b3eeb5fcf9
Some more tests.
2016-11-16 14:37:19 +01:00
chriseth
e1fec9b287
JSON tests.
2016-11-16 14:37:19 +01:00
chriseth
ec31d08775
Change encoding to address-funid and add "function" as ABI type.
2016-11-16 14:37:19 +01:00
chriseth
a8e7ed37a1
Disable broken tests that are not useful.
2016-11-16 14:37:19 +01:00
chriseth
739dabff8b
Fix tests.
2016-11-16 14:37:19 +01:00
chriseth
7a292c9a05
Fix parser for function type disambiguity.
2016-11-16 14:37:19 +01:00
Yoichi Hirai
f3d0433ec3
test: add a test about external function type taking/returning internal functions
2016-11-16 14:37:18 +01:00
chriseth
e51f852504
Converted sub assembly to smart pointer.
2016-11-16 14:37:18 +01:00
chriseth
e543bd34c0
Stored combined creation and runtime tags.
...
Includes a change to Assembly to allow tags from sub-assemblies to be
used.
Sorry, this get a bit bigger than I thought.
2016-11-16 14:37:18 +01:00
chriseth
ee3efa67a8
Fix tests.
2016-11-16 14:37:18 +01:00
chriseth
08763a206d
Test passing functions as arrays to other contracts.
2016-11-16 14:37:18 +01:00
chriseth
925d674146
Disallow payable internal functions.
2016-11-16 14:37:18 +01:00
chriseth
e1df3bd77f
Fix tests.
2016-11-16 14:37:18 +01:00
chriseth
f21f794f3c
delete for function types
2016-11-16 14:37:18 +01:00
Yoichi Hirai
c9f9b2ab4d
codegen: add a compilation mode and a runtime context to CompilerContext
2016-11-16 14:37:18 +01:00
chriseth
47794c1da4
Implement uninitialized storage functions.
2016-11-16 14:37:18 +01:00
chriseth
b6992d740a
Tests for uninitialized storage functions.
2016-11-16 14:37:18 +01:00
Yoichi Hirai
3158a8ea7b
test: add a test for storing an internal function in the constructor and then using the stored function in runtime
2016-11-16 14:37:18 +01:00
chriseth
87b148494b
Tests.
2016-11-16 14:37:18 +01:00
Yoichi Hirai
6172590b87
Add a test around storing functions in an array
2016-11-16 14:37:17 +01:00
Yoichi Hirai
708b7b35ad
Add a parser test for arrays containing functions
2016-11-16 14:37:17 +01:00
Yoichi Hirai
ab3d1b024d
Add tests around calling functions returning functions returning functions
2016-11-16 14:37:17 +01:00
chriseth
95d7555e3c
External functions in storage.
2016-11-16 14:37:17 +01:00
chriseth
6f19559de0
Fix some type checks and tests for internal / external function parameters.
2016-11-16 14:37:17 +01:00
chriseth
97a3588701
Function type state variables.
2016-11-16 14:37:17 +01:00
chriseth
dd173f83e3
Code generator for function types.
2016-11-16 14:37:17 +01:00
chriseth
cc8583ec7d
Function types.
2016-11-16 14:37:17 +01:00
Alex Beregszaszi
227f6aab4f
Change natspec/abi JSON expected message to be the same
2016-11-15 17:58:55 +00:00
Alex Beregszaszi
81c50143f2
Move JSON helpers to libdevcore/json
2016-11-15 17:38:18 +00:00
Alex Beregszaszi
9205662de9
Update tests to use JSON
2016-11-15 17:20:30 +00:00
Alex Beregszaszi
ae8403ed08
Rename ErrorTag to invalidJumpLabel in inline assembly
2016-11-15 10:30:33 +00:00
Alex Beregszaszi
bee926bf3f
Add tests for the ErrorTag
2016-11-15 10:30:33 +00:00
chriseth
dce80911e1
Add tests
2016-11-15 09:16:33 +01:00
Yoichi Hirai
e6247195dd
test: add a testcase about using an invalid enum value as an external call argument
2016-11-14 20:46:30 +01:00
Yoichi Hirai
454e7618c8
test: add tests about returning invalid enum values from interface functions
2016-11-14 16:44:04 +01:00
Yoichi Hirai
4b6e7e0677
test: add a test conerting an enum into another enum, which should fail
2016-11-11 17:48:03 +01:00
Yoichi Hirai
eee629652e
parsing: ban empty enum definition.
2016-11-11 17:48:03 +01:00
Yoichi Hirai
457daecba1
test: add a test converting -1 as a literal into an enum
...
This shows #1334 fixes #1344
2016-11-11 17:48:03 +01:00
Yoichi Hirai
08a889a908
test: add a test case for #1343
...
The test witnesses that #1334 fixes #1343 .
2016-11-11 17:48:03 +01:00
Yoichi Hirai
8856adce8f
test: add tests that witness issue #1311
2016-11-11 17:47:48 +01:00
Yoichi Hirai
33590d513e
test: add a test for #621
2016-11-11 15:51:54 +01:00
chriseth
a40dcfef12
Merge pull request #768 from roadriverrail/do_while_loops
...
Add support for do/while loops
2016-11-10 17:13:45 +01:00
Rhett Aultman
4524ad0870
Add support for do/while loops
...
This commit adds support for a standard do <statement> while <expr>;
form of statement. While loops were already being supported; supporting
a do/while loop mostly involves reusing code from while loops but putting
the conditional checking last.
2016-11-10 07:07:25 -08:00
chriseth
81118de512
Merge pull request #1339 from ethereum/typo
...
test: fix a typo in calling_payable test
2016-11-09 11:29:41 +01:00
chriseth
63bde109a1
Fail if parsing fails in type checker tests.
2016-11-09 10:48:45 +01:00
Yoichi Hirai
88547a1c66
test: fix a typo in calling_payable test
2016-11-08 17:09:24 +01:00
Yoichi Hirai
2e92966684
libevmasm: fix comparison of SourceLocations
2016-11-08 11:11:08 +01:00
chriseth
681b130dc8
Test case for overflow in storage.
2016-10-31 16:40:19 +01:00
Yoichi Hirai
578b02bb37
Add tests for #1246
2016-10-25 16:48:26 +02:00
chriseth
e00a4b47c0
Merge pull request #1264 from ethereum/988
...
State variable under contract's name
2016-10-25 12:50:24 +02:00
Yoichi Hirai
58477c233d
test: add more tests about state variable access under base contract names
2016-10-24 19:31:51 +02:00
chriseth
6b028701a0
Test.
2016-10-24 16:43:08 +02:00
Yoichi Hirai
922e4b3ce7
test: add tests from #988
2016-10-24 16:34:52 +02:00
Yoichi Hirai
47b11ef2b8
test: add a test case for accessing a state variable under the contract's name
...
The test comes from the description of #988
2016-10-24 16:28:14 +02:00
Yoichi Hirai
df900c5583
test: add a test about using an inherited enum definition as an expression,
...
with an explicit mention of the base contract. The test is about #1131 .
2016-10-24 15:28:23 +02:00
chriseth
2b00804d1d
Fix crash in throw.
2016-10-24 14:32:49 +02:00
chriseth
cb1fcaf6f6
Merge pull request #1240 from ethereum/1151
...
ast: super contract type does not contain native members
2016-10-24 11:45:54 +02:00
Yoichi Hirai
4b7fdaa0bd
test: add a test about accessing an enum member without the name of the enum
2016-10-21 13:01:45 +02:00
Yoichi Hirai
f967623a5b
test: add tests for #1131
...
The tests are about enum inheritance.
2016-10-21 13:01:45 +02:00
Alex Beregszaszi
13b2101ea7
Add tests for inline assembly in modifiers
2016-10-20 23:57:14 +01:00
Yoichi Hirai
6781ec105f
Add a test for #1151
2016-10-20 16:09:52 +02:00
Alex Beregszaszi
6cb2770344
Add two test cases for unbalanced inline assembly
2016-10-20 13:25:28 +01:00
Alex Beregszaszi
0e33b63468
Allow warnings for inline assembly block
2016-10-20 13:25:28 +01:00
Alex Beregszaszi
59603f7b8e
Add tests for constant shifts
2016-10-20 00:03:09 +01:00
Alex Beregszaszi
0a3faf48d4
Add tests for magic variables in inline assembly
2016-10-19 20:44:15 +01:00
Alex Beregszaszi
8317eb0383
Add test case for bound types without self
2016-10-19 10:40:45 +01:00
Yoichi Hirai
0542df25df
Add a test for #1242
...
This is about `super` as an expression.
2016-10-18 13:25:00 +02:00
RJ
d9af51be51
Merge pull request #1079 from VoR0220/fixedTypeTestFramework
...
Solidity helper function for testing fixed points
2016-10-13 15:18:45 -05:00
chriseth
5fb0bcce45
Replace fixed
by standard encode
function.
...
This way, we can use
```
BOOST_CHECK(callContractFunction("t(fixed8x128)", make_pair(rational(2, 3), 128)) == encodeArgs(u256(9)));
```
which is a bit more self-explanatory, I would say.
2016-10-12 17:28:47 +02:00
Alex Beregszaszi
d0791fb365
Fix assignment after tags in inline assembly
2016-10-11 12:28:49 +01:00
chriseth
c4f4d6b971
Fix build error.
2016-10-10 22:14:46 +02:00
chriseth
0b1d449057
Merge pull request #1168 from ethereum/rename-dev-sha3
...
Rename dev::sha3 to dev::keccak256
2016-10-10 21:23:27 +02:00
Alex Beregszaszi
9f61ae924e
Add test for address in inline assembly
2016-10-06 22:05:01 +01:00
Alex Beregszaszi
34df80c502
Add alias keccak256() for sha3()
2016-10-06 16:34:41 +02:00
Alex Beregszaszi
aefb6e5fcf
Rename dev::sha3 to dev::keccak256
2016-10-06 14:53:40 +01:00
Alex Beregszaszi
c7508942fe
Add test for suicide/selfdestruct
2016-10-06 12:44:33 +01:00
chriseth
212e016091
Merge pull request #1104 from ethereum/fixmemcosts
...
Fix memory resize costs during call
2016-09-17 12:30:41 +02:00
chriseth
5a45990458
Access output memory area so that we do not pay for resize during call.
2016-09-17 11:29:54 +02:00
chriseth
dd2f878e59
Test case.
2016-09-17 11:29:54 +02:00
chriseth
727c6fac85
Allow value transfer to library functions.
2016-09-17 11:29:27 +02:00
chriseth
031fd568cc
Fix crash for TypeName[k].
2016-09-15 18:16:34 +02:00
VoR0220
cbd933ceed
Solidity helper function for testing fixed points
...
Signed-off-by: VoR0220 <rj@erisindustries.com>
2016-09-09 21:03:23 -05:00
chriseth
6a55405160
Fix problem with release version string.
2016-09-08 17:56:28 +02:00
Alex Beregszaszi
65c4e65cb3
Tests for constructor visibility
2016-09-06 17:53:13 +02:00
Alex Beregszaszi
05ae5e4f5a
Tests for constant constructors
2016-09-06 17:31:39 +02:00
chriseth
3588125692
Merge pull request #1014 from ethereum/strict-fallback
...
Reject constant modifier on the fallback function
2016-09-06 15:51:45 +02:00
Alex Beregszaszi
6ec40b3cde
Reject constant modifier on the fallback function
2016-09-06 11:40:00 +01:00
chriseth
9ca7472089
Provide gas stipend manually for send(0).
2016-09-06 12:37:01 +02:00
chriseth
f687635e47
Merge pull request #665 from axic/feature/accept-ether
...
BREAKING: Add payable modifier
2016-09-06 12:25:19 +02:00
chriseth
171c74843b
Merge pull request #995 from chriseth/fixutf8astjson
...
Do not emit non-utf8 strings for ast json.
2016-09-06 12:25:04 +02:00
chriseth
43c28c1ede
Test case for non-utf8 characters in string literal.
2016-09-06 11:07:56 +02:00
chriseth
dff9633084
Test and fixes for payable fallback in ABI.
2016-09-06 10:59:13 +02:00
chriseth
384f189a6a
Tests for payable / private combination.
2016-09-06 10:58:56 +02:00
chriseth
ff11aa1927
Change placeholder style.
2016-09-05 21:32:27 +02:00
chriseth
1eb7ddbb09
Make constant and payable mutually exclusive.
2016-09-05 21:28:28 +02:00
chriseth
9c64edf110
Change function type to include and propagate payable and constant modifier.
2016-09-05 21:28:28 +02:00
Alex Beregszaszi
962531af96
Merged in changes from chriseth/payable
2016-09-05 21:28:28 +02:00
Alex Beregszaszi
680b83b2a4
Mark every other test payable where neccesary in EndToEndTest
2016-09-05 21:28:28 +02:00
Alex Beregszaszi
34a6afbd77
Include EndToEnd test for payable keyword
2016-09-05 21:28:18 +02:00
Alex Beregszaszi
a7794b1a68
Include ABI JSON test for payable keyword
2016-09-05 21:28:18 +02:00
chriseth
02984b8de1
Require ";" after "_"
2016-09-05 14:54:50 +02:00
chriseth
459d2dd7cd
Fix version pragmas in tests.
2016-09-01 00:03:01 +02:00
chriseth
3c412ed2f6
Version pragma.
2016-09-01 00:02:51 +02:00
chriseth
18abafe029
Merge pull request #960 from Denton-L/change-else-style
...
Change else style
2016-08-31 22:34:44 +02:00
Denton Liu
a8c5d2bbde
Fix syntax error
2016-08-31 11:17:11 -04:00
winsvega
3ccd19868a
Merge pull request #947 from winsvega/soltest
...
rename --ipc to --ipcpath
2016-08-31 12:45:36 +03:00
chriseth
546aca2a3e
Test cases.
2016-08-30 15:31:50 +02:00
chriseth
4bfe09897e
Make fallback function throw by default.
2016-08-30 15:31:50 +02:00
Dimitry
f892d1b9a3
rename --ipc to --ipcpath
2016-08-29 16:21:49 +04:00
Alex Beregszaszi
4019c832ca
Add test for fallback function in JSON ABI
2016-08-26 19:03:46 +01:00
Denton Liu
ff756bc94d
Make tests more consistent in style
2016-08-26 13:33:42 -04:00
chriseth
fb7836d87b
Merge pull request #897 from Denton-L/remove-standard
...
BREAKING: Remove standard contracts
2016-08-26 19:32:18 +02:00
chriseth
ce42114c41
Fix tests.
2016-08-26 01:00:39 +02:00
chriseth
21b6aa92ff
Disallow fallback function to return values.
2016-08-26 00:07:50 +02:00
chriseth
d5e4b7492e
Merge pull request #928 from winsvega/solremove
...
remove sha256 and rmd160 hash
2016-08-24 19:41:12 +02:00
Dimitry
23acb383d5
remove sha256 and rmd160 hash
2016-08-24 19:52:49 +04:00
Denton Liu
e00f802f72
Remove standard contracts
2016-08-19 10:34:50 -04:00
Alex Sinyagin
4b9eb299d0
Rename root AST JSON node to SourceUnit
2016-08-18 15:38:20 +00:00
Alex Sinyagin
9139d763d3
Use the full names for JSON AST nodes
2016-08-18 13:12:15 +00:00
Alex Sinyagin
406f3a4b5d
Add ast json converter for PlaceholderStatement
2016-08-18 12:30:00 +00:00
Alex Sinyagin
e9c894c9f8
Add ast json converter for ArrayTypeName
2016-08-18 12:30:00 +00:00
Alex Sinyagin
bdc2436ae3
Add ast json converter for ModifierInvocation and EventDefinition
2016-08-18 12:30:00 +00:00
Alex Sinyagin
a5d15e6895
Add ast json converter for ModifierDefinition
2016-08-18 12:29:59 +00:00
Alex Sinyagin
95832da16e
Add ast json converter for EnumValue
2016-08-18 12:29:59 +00:00
Alex Sinyagin
a9e04217a4
Add ast json converter for EnumDefinition
2016-08-18 12:29:59 +00:00
Alex Sinyagin
af64219e17
Check source loctaion in the InhertanceSpecifier test
2016-08-18 12:29:59 +00:00
Alex Sinyagin
40ca2c9e97
Add ast json converter for UsingForDirective
2016-08-18 12:29:59 +00:00
Alex Sinyagin
9e7fc12463
Add a ast json converter for InheritanceSpecifier
2016-08-18 12:29:59 +00:00
chriseth
c282ab379a
Merge pull request #918 from winsvega/solremove4
...
remove solidity --interface
2016-08-17 17:55:40 +02:00
chriseth
b2507e9f10
Merge pull request #839 from chriseth/checkcode
...
BREAKING: Make function calls throw if target does not have code.
2016-08-17 16:44:15 +02:00
chriseth
d6579a0a5f
Merge pull request #888 from chriseth/throwOnDivZero
...
Throw on division by zero.
2016-08-17 16:43:13 +02:00
Dimitry
e5e2597702
remove solidity --interface
2016-08-17 12:39:10 +03:00
chriseth
774bb8ab3b
Make function calls throw if target does not have code.
...
Low-level calls still just execute and will actually report "success".
This allows `x.call.value(y)()` for x being a non-contract account.
2016-08-17 11:30:40 +02:00
chriseth
9c83109549
BREAKING: return only exits current function/modifier
2016-08-17 11:29:31 +02:00
chriseth
e7683f4722
Merge pull request #836 from chriseth/unusedunderscore
...
BREAKING: Require modifiers to contain "_".
2016-08-17 11:28:02 +02:00
chriseth
34f9a59f18
Fix tests.
2016-08-17 11:27:15 +02:00
chriseth
e7084d9e16
Throw on division by zero.
2016-08-17 11:27:15 +02:00
chriseth
d5505e21eb
Merge pull request #838 from chriseth/ecrecover
...
Make ecrecover return zero for malformed input.
2016-08-17 11:05:20 +02:00
chriseth
15b85e2ea8
Fix tests.
2016-08-16 19:04:11 +02:00
Alex Beregszaszi
ec3298535e
Introduce hex literals ( #832 )
...
* Introduce hex keyword token
* Support hex literals
* Include tests for hex literals
* Document hex literals
2016-08-16 16:31:23 +02:00
chriseth
d731225d02
Actually better to return zero on error.
2016-08-16 14:53:01 +02:00
chriseth
034d436933
Make ecrecover throw for malformed input.
2016-08-16 14:53:01 +02:00
chriseth
6df6728165
Require modifiers to contain "_".
2016-08-16 14:52:47 +02:00
chriseth
2a560b798b
Throw if contract creation fails.
2016-08-16 14:49:44 +02:00
chriseth
61e94940bc
Show compilation errors in tests.
2016-08-12 15:11:31 +02:00
chriseth
1bc0320811
Cleanup of test suite init.
2016-08-12 15:11:30 +02:00
Denton Liu
58d37f24ae
Remove After test case
2016-08-11 10:15:59 -04:00
Alex Beregszaszi
c54e99a3f5
Include Unicode tests in the scanner
2016-08-04 17:28:48 +01:00
Dmitry K
5925ae0c6a
Windows pipe for soltest
2016-08-02 19:32:03 +03:00
chriseth
c0afb4549e
Further fixes to the optimizer.
2016-08-01 23:41:11 +02:00
chriseth
ac0d138800
Test case.
2016-08-01 15:30:19 +02:00
chriseth
8b68d476c2
Fix optimizer tests.
2016-08-01 12:17:04 +02:00
Bob Summerwill
4ee2114127
Make the Solidity repository standalone.
...
This commit is the culmination of several months of work to decouple Solidity from the webthree-umbrella so that it can be developed in parallel with cpp-ethereum (the Ethereum C++ runtime) and so that even for the Solidity unit-tests there is no hard-dependency onto the C++ runtime.
The Tests-over-IPC refactoring was a major step in the same process which was already committed.
This commit contains the following changes:
- A subset of the CMake functionality in webthree-helpers was extracted and tailored for Solidity into ./cmake. Further cleanup is certainly possible.
- A subset of the libdevcore functionality in libweb3core was extracted and tailored for Solidity into ./libdevcore. Further cleanup is certainly possible
- The gas price constants in EVMSchedule were orphaned into libevmasm.
- Some other refactorings and cleanups were made to sever unnecessary EVM dependencies in the Solidity unit-tests.
- TravisCI and Appveyor support was added, covering builds and running of the unit-tests (Linux and macOS only for now)
- A bug-fix was made to get the Tests-over-IPC running on macOS.
- There are still reliability issues in the unit-tests, which need immediate attention. The Travis build has been flipped to run the unit-tests 5 times, to try to flush these out.
- The Emscripten automation which was previously in webthree-umbrella was merged into the TravisCI automation here.
- The development ZIP deployment step has been commented out, but we will want to read that ONLY for release branch.
Further iteration on these changes will definitely be needed, but I feel these have got to sufficient maturity than holding them back further isn't winning us anything. It is go time :-)
2016-08-01 01:45:11 -07:00
chriseth
58cc6cbb37
Bugfix: Allocate empty array.
2016-07-28 17:24:18 +02:00
chriseth
c55584d3e2
Source location as part of AST.
2016-07-20 19:45:43 +02:00
chriseth
67d1e4783a
Rename IPCSocket and removed unused code in TestHelper.
2016-06-29 00:14:50 +02:00
chriseth
05e5bdf780
Fixes for gas tests.
2016-06-28 23:18:55 +02:00
chriseth
c0bbd1cfe5
Some more test fixes.
2016-06-28 23:18:55 +02:00
chriseth
e5db096da9
Fix some more tests.
2016-06-28 23:18:55 +02:00
chriseth
007132a78e
Fix empty storage check.
2016-06-28 23:18:55 +02:00
chriseth
93c8fc094e
Parse arguments in free function.
2016-06-28 23:18:55 +02:00
Dimitry
27df4b7e71
parse command line arguments
...
ipcPath
2016-06-28 23:18:55 +02:00
Dimitry
763faf7b0e
replace BalanceAt
...
add addressHasCode
remove m_state and sealengine
2016-06-28 23:18:55 +02:00
chriseth
ce2258b71e
Balance and storage.
2016-06-28 23:18:54 +02:00
chriseth
966709b7d7
logs
2016-06-28 23:18:54 +02:00
chriseth
d6e39054e0
Refactor testing via IPC.
2016-06-28 23:18:54 +02:00
chriseth
ad36fc3c58
Style
2016-06-28 23:18:54 +02:00
Dimitry
55cfba6514
test framework
...
IPC socket and RPC communication with node
2016-06-28 23:18:54 +02:00
chriseth
5aca97af0d
Initial poc to test via ipc.
2016-06-28 23:18:54 +02:00
chriseth
25a64c7f8f
Only warn about unused return in low-level functions.
2016-06-26 13:53:32 +02:00
chriseth
cc6314cd01
Warn about unused return values.
2016-06-26 13:53:32 +02:00
chriseth
3150ab2bcf
Allow remappings to change depending on the context.
2016-06-08 18:16:46 +02:00
chriseth
a1aee031d1
Tests for implementation by constructor.
2016-06-06 19:38:22 +02:00
chriseth
1c3a64026b
Add a test for a struct accessor.
2016-06-04 21:51:48 +02:00
chriseth
754a992500
Inaccessible dynamic types
2016-06-02 12:52:25 +02:00
chriseth
708129abd5
Fixes for invalid cleanups for small types.
2016-05-20 16:52:40 +02:00
chriseth
a09583a2a4
Tests for invalid cleanup and missing bool conversion code.
2016-05-20 16:52:38 +02:00
VoR0220
6289410152
explicit conversion and loosening of binary operations on integer and fixed point types...still other problems
...
fixed some spaces and deleted lines from failing test
2016-05-18 15:52:09 -05:00
VoR0220
3ba308fb2e
current debugging info
2016-05-18 15:52:09 -05:00
chriseth
775b757d0e
Merge pull request #545 from chriseth/accessFunLabels
...
Allow access to functions in inline assembly.
2016-05-17 23:59:13 +02:00
chriseth
4b445b898e
Merge pull request #546 from chriseth/fixiszero
...
Correctly use not/bnot/iszero.
2016-05-14 00:58:55 +02:00
chriseth
67ca3bb4b9
Allow access to functions in inline assembly.
2016-05-12 12:30:48 +02:00
chriseth
d4206b7cd0
Remove unused tests and add asserts for not implemented parts in code generation.
...
quick fix on christian's rational
change so that ubuntu will stop yelling
be more specific with rational declaration for Windows sake
rational in namespace correction for windows
2016-05-10 16:03:33 -05:00
chriseth
af354d7555
Correctly handle unexpected exceptions during tests.
2016-05-10 19:33:30 +02:00
VoR0220
a6fc3c8f30
reorganized tests and fixed mobile types and implicit conversions of rationals and fixed point types
...
one final tweak
check for null types
2016-05-09 11:41:03 -05:00
VoR0220
bfc238c8d1
updated algorithm for bit finding...now to figure out literal value
...
tiny fixups
changed location of the check
got rid of extra space and fixed a couple of things
added binary results bits
change back literal value
2016-05-09 11:41:03 -05:00
VoR0220
82039b732e
added bytes conversion tests, resolved that, converted to binary scaling, refactored the find algo to prevent large numbers and take into account integer bytes
...
think we're good on solidity type name resolution now
removed couts
updates to documentation and more removed couts along with literal value implementation
forgot semicolons
2016-05-09 11:41:03 -05:00
VoR0220
f0ea817580
fixing modulus and Solidity Name and Type Resolution
...
minor fixes
current attempts at binary fixup
2016-05-09 11:41:03 -05:00
VoR0220
4d283b2b30
currently what we have
2016-05-09 11:41:02 -05:00
RJ Catalano
93295ae8f8
got exponents up and working with their inverse, changed a few of the tests....something is working that likely shouldn't be
...
slight changes to how to flip the rational negative around...still trying to figure it out
tests added
updated tests
odd differences in trying soltest from solc binary, let me know if you can replicate
test not working for odd reason
fixed test problem with fixed literals...still need a way to log this error
broken up the tests, added some, changed some things in types and began compiler work
moar tests and prepping for rebuilding much of the types.cpp file
further fixing
infinite loop still happening but it's somewhere in the fixedPoint methodd
fractional bits needed algo improved! Eliminated 2 errors
Corrected problems with the previous commit. No infinite loops. Actually appear to have corrected an error
2016-05-09 11:41:02 -05:00