chriseth
87f744ae5e
Add some more tests for the checksum routine.
2017-01-25 10:45:21 +01:00
chriseth
605455f96b
Tests for library checksums.
2017-01-24 23:37:48 +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
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
Alex Beregszaszi
0cb95ac35e
LLL: add test for (panic) in a sequence
2017-01-12 14:52:01 +00:00
chriseth
df4ef74199
Add tests for internal constructor.
2017-01-20 19:22:39 +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
Yoichi Hirai
e62b98646f
Merge pull request #1494 from ethereum/showtxhash
...
Display tx hash for debugging.
2016-12-12 19:51:49 +01: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
ffccbd432a
Display tx hash for debugging.
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
chriseth
d2b8bdd016
Merge pull request #1464 from federicobond/warn-msgvalue
...
Warn about using msg.value in non-payable function
2016-12-11 16:46:06 +01:00
chriseth
4508f71324
Merge pull request #1481 from zigguratt/lll-end-to-end-testing
...
LLL: end to end testing
2016-12-11 16:43:15 +01:00
chriseth
6a40318138
Display tx hash for debugging.
2016-12-09 20:29:02 +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
chriseth
b536f24644
Merge pull request #1488 from ethereum/parser-error-msg
...
test: check error messages in parser tests
2016-12-08 16:05:39 +01:00
Daniel Ellison
0f304d2d89
Removed 'panic' from 'constructor_arguments_external' and added specific
...
test for fallback and fallthrough. Added one test for 'lit'. Added tests
for arithmetic/binary/unary operations. Added the start of tests for
assembler instructions within LLL source.
2016-12-06 18:21:26 -05:00
chriseth
d1c71b7826
Also provide value and format slightly differently.
2016-12-06 23:52:39 +01:00
chriseth
86953ca3e4
Option to show messages in tests.
2016-12-06 22:31:20 +01:00
Yoichi Hirai
94536ccec8
test: check error messages in parser tests
2016-12-06 17:28:49 +01:00
Daniel Ellison
e23ef9db02
Added tests for LLL constructors. Fixed a few tab issues.
2016-12-06 11:16:56 -05:00
Daniel Ellison
20a098e205
Removed enclosed_panic test until assembler bug is fixed.
2016-12-06 11:16:56 -05:00
Daniel Ellison
1152d2d2d4
Simplified exp_operator_on_range test and changed to tedting a range.
2016-12-06 11:16:56 -05:00
Daniel Ellison
a91b712ab8
Added tests for exponent operator.
2016-12-06 11:16:56 -05:00
Daniel Ellison
1b6861e6c9
Added 'panic' tests.
2016-12-06 11:16:56 -05: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
Alex Beregszaszi
f869792eec
Fix type of optimizeRuns
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
83a0ad73ce
Merge pull request #1313 from ethereum/lll-strict-parser
...
LLL: stricter parser
2016-12-01 12:41:43 +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
4cecedcb49
LLL: update tests with the strict parser
2016-11-30 16:17:58 +00: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
0f1d0304ee
LLLExecutionFramework doesn't support contractName/libraryAddresses
2016-11-29 21:54:28 +00:00
Alex Beregszaszi
94cae63390
Add callFallback to ExectionFramework
2016-11-29 21:54:28 +00:00
Alex Beregszaszi
85ebe4e5c4
LLL: check for return value in LLL smoke test
2016-11-29 21:54:27 +00:00
Alex Beregszaszi
e26466b729
LLL: add end-to-end tests
2016-11-29 21:54:27 +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
Alex Beregszaszi
4af30cc518
Add test/liblll to cmake
2016-11-29 21:54:27 +00:00
Alex Beregszaszi
69eb0ab5e3
LLL: add parser tests
2016-11-29 21:42:22 +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
d97eb7cc75
Add payable keyword to the multisig wallet
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