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
44c0d7ca5e
Tests.
2018-04-12 00:10:25 +02:00
Alex Beregszaszi
d56acb68ab
Add abi.encode, abi.encodePacked, abi.encodeWithSelector and abi.encodeWithSignature.
2018-04-11 22:32:10 +02:00
Daniel Kirchner
daa69df447
Error on invalid arithmetic with constant expressions.
2018-04-11 21:17:10 +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
Alex Beregszaszi
5f76f47f2e
Add end to end tests for SHL/SHR/SAR instructions (constantinople only)
2018-04-10 15:29:54 +01:00
Federico Bond
4e037281ac
Error on duplicated super constructor calls
2018-04-09 11:22:35 +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
Alex Beregszaszi
8dc9113e37
Add end-to-end test for SwapComparison and CommutativeSwap peephole optimisers
2018-04-05 10:54:39 +02:00
chriseth
65f18a18de
More specific push implementation.
2018-04-04 16:50:45 +02:00
chriseth
0cbe55005d
Create empty dynamic memory arrays more efficiently.
2018-04-04 12:37:04 +02:00
chriseth
e64e397f24
Add memory array init test.
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
chriseth
5c8a6aac69
Prevent encoding of weird types and support packed encoding of external function types.
2018-03-29 09:57:11 +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
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
Daniel Kirchner
d63d41b3b5
test: Rename test/TestHelper.* to test/Options.* and add Options::validate().
2018-03-14 12:04:04 +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
a3593df43b
Test for using staticcall for view and pure functions.
2018-03-06 15:30:18 +01:00
Daniel Kirchner
2213f9946b
Improved gasleft tests.
2018-03-05 18:45:02 +01:00
Daniel Kirchner
298bdeec49
Remove unstable test case.
2018-03-05 13:28:27 +01:00
Daniel Kirchner
c633c0eacb
Move msg.gas to global function gasleft(). Closes #2971 .
2018-03-05 11:18: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
388718b59f
Introduce emit statement.
2018-02-22 15:17:30 +01:00
chriseth
89a8f4096c
Provide proper input for test call.
2018-02-20 19:31:26 +01:00
chriseth
2b5a5a8669
Make addmod and mulmod revert if the last argument is zero.
2018-02-15 13:52:17 +01:00
chriseth
aea9e7fe54
Add tests for selectors for public variables.
2018-02-13 14:15:02 +01:00
chriseth
6807010dc7
Prevent libraries from being called.
2018-01-19 16:27:44 +01:00
Yoichi Hirai
14707b27e2
Merge pull request #3183 from federicobond/fix-event-parsing
...
Fix event parsing. Refs #3175
2017-12-12 11:12:18 +01:00
Federico Bond
14fd647b85
Fix event parsing. Refs #3175
2017-11-22 23:08:12 -03:00
chriseth
6dbc34e16e
If statement for Iulia / inline assembly.
2017-11-22 16:25:24 +01:00
Balajiganapathi S
165857b1d4
Allow constant integer variables as array lengths.
2017-11-22 01:41:46 +00:00
chriseth
a3db1fc197
Do not accept truncated function selectors.
2017-10-17 23:17:36 +02:00
chriseth
6001bd1406
Allocate one byte per memory byte array element instead of 32.
2017-10-16 22:29:31 +02:00
Alex Beregszaszi
9ee619c9bb
Snarks test using Byzantium precompiles
...
* Snark tests.
* Verifying routine.
* Example proof.
* Update precompiled positions to Byzantium ruleset.
2017-10-09 11:09:20 +02:00
Alex Beregszaszi
7cb4d714c7
Fix overload resolution when conflict is with members of address (balance, transfer, etc)
2017-09-28 13:57:19 +01:00
Alex Beregszaszi
9ea812598d
Fix other test to use ABI_CHECK
2017-09-27 00:50:35 +01:00
chriseth
95ec2fd0b6
Fix encoded EndToEnd inputs.
2017-09-25 19:33:38 +02:00
chriseth
8e4f242274
Improved error messages for EndToEnd tests.
2017-09-25 10:49:25 +01:00
Alex Beregszaszi
3b813ed295
Support multiple assignment in inline assembly
2017-09-20 11:16:23 +02:00
Alex Beregszaszi
ada68bcee6
Add tests for constant bytes/strings
2017-09-18 22:25:50 +01:00
chriseth
70d70e7816
Implement struct encoder.
2017-09-16 12:31:12 +01:00
chriseth
6385641f6e
Fix tests.
2017-09-16 12:31:12 +01:00
chriseth
44825d1c1e
Expect test to fail until implemented.
2017-09-16 12:12:44 +01:00
chriseth
22f85d5af3
Update tests and error messages.
2017-09-16 12:12:43 +01:00
chriseth
2e72bd163a
Allow structs as part of function interfaces.
2017-09-16 12:12:43 +01:00
Alex Beregszaszi
5c9dbd5083
Merge pull request #2473 from ethereum/functiontype-sig
...
Add .selector member on function types
2017-09-13 17:35:48 +01:00
Alex Beregszaszi
8b166c3636
Use hashing function in tests
2017-09-13 11:40:57 +01:00
Alex Beregszaszi
fd1f8ab38b
Rename .sig to .selector on function types
2017-09-13 11:40:57 +01:00
Alex Beregszaszi
88946f9f03
Add tests for function type sigs
2017-09-13 11:40:57 +01:00
chriseth
c83768c426
Fix tests
2017-09-06 13:52:29 +02:00
Alex Beregszaszi
50047bf82c
Change tests to use view or pure as appropriate
2017-09-06 13:50:49 +02:00
chriseth
38446a9669
ABI encoder tests.
2017-08-14 13:11:38 +01:00
chriseth
95acbc7a9f
Some more ABI tests.
2017-08-10 15:49:02 +02:00
chriseth
38e9505a83
Merge pull request #2673 from ethereum/builtin-gas
...
Disallow gas modifier on sha256/ripemd160/ecrecover
2017-08-04 14:43:15 +02:00
Alex Beregszaszi
b7642dc8a7
Disallow gas modifier on sha255/ripemd160/ecrecover
2017-08-01 20:55:01 +01:00
Alex Beregszaszi
f63bb0a442
Add test for call/callcode/delegatecall to invalid address
2017-08-01 20:51:52 +01:00
Alex Beregszaszi
b3061225bc
.delegatecall() should always return a boolean of execution status
2017-08-01 20:50:03 +01:00
Alex Beregszaszi
6ea4b7fa37
Add test for tight packing keccak256/sha256/ripemd160
2017-08-01 02:11:17 +01:00
chriseth
6dba8cf0f4
Use keccak256 instead of sha3
2017-07-28 16:57:34 +02:00
chriseth
368a8a62c1
Test case for invalid ecrecover call.
2017-07-28 15:32:42 +02:00
chriseth
7c7c2baa82
Re-allow multiple modifiers per function.
2017-07-27 13:45:39 +02:00
Alex Beregszaszi
ee3a2c0599
Add end-to-end test
2017-07-13 15:18:40 +02:00
chriseth
b7a59652f1
Merge pull request #2501 from ethereum/undef-macros
...
Move UndefMacros from libdevcore to libsolidity/parsing
2017-07-12 15:07:20 +02:00
chriseth
0cb93a5f7b
Test for internal "variable already present" error.
2017-07-04 19:33:54 +02:00
Alex Beregszaszi
b615b01449
Move UndefMacros from libdevcore to libsolidity/parsing
2017-07-02 00:09:46 +01:00
Yoichi Hirai
4dfc413b8e
test: add a test passing an invalid boolean value as an event argument
...
Fixes #1381
2017-07-01 10:35:51 +01:00
Yoichi Hirai
fdc9ef14ad
test: add an assertion about storing an invalid boolean into the memory
2017-07-01 10:35:51 +01:00
Yoichi Hirai
7cbf6a86dd
test: add a test about storing an invalid boolean
2017-07-01 10:35:51 +01:00
chriseth
46caff4597
Test for negative stack height.
2017-06-28 16:55:49 +01:00
chriseth
1a3066c3a1
Test about semantics of "swap" in storage.
2017-06-26 16:31:36 +02:00
chriseth
f36e021ffc
Test for passing empty string literal as function argument.
2017-06-22 17:39:29 +02:00
chriseth
2f0826ffd7
Functionality tests for for.
2017-06-16 10:56:21 +01:00
chriseth
b098b363b5
Test for embedded functions.
2017-06-08 15:52:45 +02:00
chriseth
64ddb176bb
Test for accessing outer inline assembly scope.
2017-06-08 15:52:45 +02:00
chriseth
97cc968a13
Initial EVM1.5 assembly implementation.
2017-06-08 15:52:44 +02:00
Alex Beregszaszi
dcb7c51920
Add inline assembly test for sha3/keccak256
2017-05-30 13:57:44 +01:00
Alex Beregszaszi
ff33297786
Add test for sha3() == keccak256()
2017-05-30 12:33:04 +01:00
Alex Beregszaszi
9e1c509cf5
Use keccak256() in tests (and not sha3())
2017-05-30 12:33:04 +01:00
chriseth
28f10f4783
Remove error label / invalid jump label.
2017-04-28 13:14:52 +02:00
chriseth
478f2997ea
Storage access from inline assembly.
2017-04-25 16:49:04 +02:00
chriseth
4afd54b235
Convert storge access tests to new explicit slot / offset access.
2017-04-25 16:49:04 +02:00
chriseth
f13c8af3f9
Make tests comply with stack height checks.
2017-04-25 16:49:03 +02:00
Alex Beregszaszi
5a71e4f1a7
Add more complex tests for interfaces
2017-03-17 17:06:53 +00:00
chriseth
0c8a766146
Merge pull request #1698 from ethereum/exp-notation
...
Fix scientific notation in number literals
2017-03-15 14:55:45 +01:00
Alex Beregszaszi
b28be08b6d
Add tests for negative base
2017-03-15 13:07:28 +00:00
Alex Beregszaszi
b0a23fa77d
Add tests for fractional numbers in exponential notation
2017-03-15 13:06:27 +00:00
Alex Beregszaszi
6014c3fe16
Add tests for scientific notation
2017-03-15 13:06:26 +00:00
Yoichi Hirai
d134fda0c0
Merge pull request #1729 from ethereum/constantvariables
...
Only allow pure expressions for constant state variables.
2017-03-15 10:03:35 +01:00
chriseth
47cd8964b8
Require and Assert.
2017-03-14 14:21:33 +01:00
chriseth
592cec7e90
Disallow constants that are neither value types nor strings.
2017-03-13 13:30:23 +01:00
chriseth
14948e514d
Allow enum values for constants.
2017-03-13 13:30:23 +01:00
chriseth
49cfacced2
End to end tests for constants.
2017-03-13 13:30:23 +01:00
chriseth
fe5f85ef34
Test for array singletons.
2017-03-06 14:42:28 +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
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
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
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
0b61f13c7f
Add more tests for function type conversion
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
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
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
chriseth
df4ef74199
Add tests for internal constructor.
2017-01-20 19:22:39 +01:00
chriseth
d3a391c136
Provide fallback for linking.
2017-01-18 17:41:36 +01: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
Yoichi Hirai
42b6726173
analysis: allow some shadowings explicitly
2017-01-11 18:28:11 +01:00
Yoichi Hirai
96ca706353
test: add a test case for #1286
2017-01-02 17:58:33 +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
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
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
Alex Beregszaszi
c88f34c781
Remove unneeded optimised test from EndToEndTest
2016-12-01 16:04:00 +01:00
chriseth
1e35526eb6
Fix tests.
2016-12-01 16:03:59 +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
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
b16cdbb57e
test: add a test that witnesses #1318
2016-11-30 17:40:34 +01: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
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