diff --git a/test/libsolidity/SemanticTest.cpp b/test/libsolidity/SemanticTest.cpp index adc3e0650..7f7ee2525 100644 --- a/test/libsolidity/SemanticTest.cpp +++ b/test/libsolidity/SemanticTest.cpp @@ -80,7 +80,7 @@ TestCase::TestResult SemanticTest::run(ostream& _stream, string const& _linePref { if (&test == &m_tests.front()) if (test.call().isConstructor) - deploy("", 0, test.call().arguments.rawBytes()); + deploy("", test.call().value, test.call().arguments.rawBytes()); else soltestAssert(deploy("", 0, bytes()), "Failed to deploy contract."); else diff --git a/test/libsolidity/semanticTests/smoke_test.sol b/test/libsolidity/semanticTests/smoke_test.sol index 6e5cd9c6a..8c9b442ec 100644 --- a/test/libsolidity/semanticTests/smoke_test.sol +++ b/test/libsolidity/semanticTests/smoke_test.sol @@ -1,8 +1,11 @@ contract C { uint public state = 0; - constructor(uint _state) public { + constructor(uint _state) public payable { state = _state; } + function balance() payable public returns (uint256) { + return address(this).balance; + } function f() payable public returns (uint) { return 2; } @@ -38,8 +41,9 @@ contract C { } } // ---- -// constructor(): 3 -> +// constructor(), 2 ether: 3 -> // state() -> 3 +// balance() -> 2 // _() -> FAILURE // f() -> 2 // f(), 1 ether -> 2