aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorchriseth <c@ethdev.com>2016-08-12 21:54:17 +0800
committerchriseth <c@ethdev.com>2016-08-16 20:53:01 +0800
commitd731225d02c9b8d6dc9f2ba632923b765d0e111d (patch)
treec91454591ceb4a1329adafb1dc66d2500fe9f3c1 /test
parent034d436933806c204b84b0500e2116938cb6a030 (diff)
downloaddexon-solidity-d731225d02c9b8d6dc9f2ba632923b765d0e111d.tar.gz
dexon-solidity-d731225d02c9b8d6dc9f2ba632923b765d0e111d.tar.zst
dexon-solidity-d731225d02c9b8d6dc9f2ba632923b765d0e111d.zip
Actually better to return zero on error.
Diffstat (limited to 'test')
-rw-r--r--test/libsolidity/SolidityEndToEndTest.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/test/libsolidity/SolidityEndToEndTest.cpp b/test/libsolidity/SolidityEndToEndTest.cpp
index 338a47da..345bac80 100644
--- a/test/libsolidity/SolidityEndToEndTest.cpp
+++ b/test/libsolidity/SolidityEndToEndTest.cpp
@@ -6855,11 +6855,9 @@ BOOST_AUTO_TEST_CASE(create_dynamic_array_with_zero_length)
BOOST_AUTO_TEST_CASE(failing_ecrecover_invalid_input)
{
- // ecrecover should throw for malformed input
+ // ecrecover should return zero for malformed input
// (v should be 27 or 28, not 1)
- // This is quite hard to test because the precompiled does NOT throw, instead it just
- // does not write to its output area, we have to check that and currently do it
- // by checking whether ecrecover "returns" zero.
+ // Note that the precompile does not return zero but returns nothing.
char const* sourceCode = R"(
contract C {
function f() returns (address) {
@@ -6868,7 +6866,7 @@ BOOST_AUTO_TEST_CASE(failing_ecrecover_invalid_input)
}
)";
compileAndRun(sourceCode, 0, "C");
- BOOST_CHECK(callContractFunction("f()") == encodeArgs());
+ BOOST_CHECK(callContractFunction("f()") == encodeArgs(u256(0)));
}
BOOST_AUTO_TEST_SUITE_END()