mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Tests.
This commit is contained in:
parent
22c689d516
commit
90fb14f525
@ -344,6 +344,37 @@ BOOST_AUTO_TEST_CASE(while_loop_simple)
|
|||||||
CHECK_WARNING(text, "Assertion violation happens here");
|
CHECK_WARNING(text, "Assertion violation happens here");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOST_AUTO_TEST_CASE(constant_condition)
|
||||||
|
{
|
||||||
|
string text = R"(
|
||||||
|
contract C {
|
||||||
|
function f(uint x) public pure {
|
||||||
|
if (x >= 0) { revert(); }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)";
|
||||||
|
CHECK_WARNING(text, "Condition is always true");
|
||||||
|
text = R"(
|
||||||
|
contract C {
|
||||||
|
function f(uint x) public pure {
|
||||||
|
if (x >= 10) { if (x < 10) { revert(); } }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)";
|
||||||
|
CHECK_WARNING(text, "Condition is always false");
|
||||||
|
// TODO
|
||||||
|
// // a plain literal constant is fine
|
||||||
|
// text = R"(
|
||||||
|
// contract C {
|
||||||
|
// function f(uint x) public pure {
|
||||||
|
// if (true) { revert(); }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// )";
|
||||||
|
// CHECK_SUCCESS_NO_WARNINGS(text);
|
||||||
|
|
||||||
|
// TODO test unreacheable code
|
||||||
|
}
|
||||||
|
|
||||||
BOOST_AUTO_TEST_SUITE_END()
|
BOOST_AUTO_TEST_SUITE_END()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user