mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge pull request #11782 from ethereum/smt_show_unproved_flag
[SMTChecker] Make show unproved CLI a flag
This commit is contained in:
commit
990a072fe5
@ -488,7 +488,7 @@ Unproved Targets
|
||||
|
||||
If there are any unproved targets, the SMTChecker issues one warning stating
|
||||
how many unproved targets there are. If the user wishes to see all the specific
|
||||
unproved targets, the CLI option ``--model-checker-show-unproved true`` and
|
||||
unproved targets, the CLI option ``--model-checker-show-unproved`` and
|
||||
the JSON option ``settings.modelChecker.showUnproved = true`` can be used.
|
||||
|
||||
Verified Contracts
|
||||
|
@ -733,8 +733,7 @@ General Information)").c_str(),
|
||||
)
|
||||
(
|
||||
g_strModelCheckerShowUnproved.c_str(),
|
||||
po::value<bool>()->value_name("false,true")->default_value(false),
|
||||
"Select whether to show all unproved targets."
|
||||
"Show all unproved targets separately."
|
||||
)
|
||||
(
|
||||
g_strModelCheckerSolvers.c_str(),
|
||||
@ -1114,10 +1113,7 @@ General Information)").c_str(),
|
||||
}
|
||||
|
||||
if (m_args.count(g_strModelCheckerShowUnproved))
|
||||
{
|
||||
bool showUnproved = m_args[g_strModelCheckerShowUnproved].as<bool>();
|
||||
m_options.modelChecker.settings.showUnproved = showUnproved;
|
||||
}
|
||||
m_options.modelChecker.settings.showUnproved = true;
|
||||
|
||||
if (m_args.count(g_strModelCheckerSolvers))
|
||||
{
|
||||
|
@ -1 +0,0 @@
|
||||
--model-checker-engine all --model-checker-show-unproved false
|
@ -1,3 +0,0 @@
|
||||
Warning: CHC: 1 verification condition(s) could not be proved. Enable the model checker option "show unproved" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query.
|
||||
|
||||
Warning: BMC: 1 verification condition(s) could not be proved. Enable the model checker option "show unproved" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query.
|
@ -1,12 +0,0 @@
|
||||
// SPDX-License-Identifier: GPL-3.0
|
||||
pragma solidity >=0.0;
|
||||
contract C {
|
||||
struct S {
|
||||
uint x;
|
||||
}
|
||||
S s;
|
||||
function f(bool b) public {
|
||||
s.x |= b ? 1 : 2;
|
||||
assert(s.x > 0);
|
||||
}
|
||||
}
|
@ -1 +0,0 @@
|
||||
--model-checker-engine bmc --model-checker-show-unproved false
|
@ -1 +0,0 @@
|
||||
Warning: BMC: 1 verification condition(s) could not be proved. Enable the model checker option "show unproved" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query.
|
@ -1,12 +0,0 @@
|
||||
// SPDX-License-Identifier: GPL-3.0
|
||||
pragma solidity >=0.0;
|
||||
contract C {
|
||||
struct S {
|
||||
uint x;
|
||||
}
|
||||
S s;
|
||||
function f(bool b) public {
|
||||
s.x |= b ? 1 : 2;
|
||||
assert(s.x > 0);
|
||||
}
|
||||
}
|
@ -1 +0,0 @@
|
||||
--model-checker-engine chc --model-checker-show-unproved false
|
@ -1 +0,0 @@
|
||||
Warning: CHC: 1 verification condition(s) could not be proved. Enable the model checker option "show unproved" to see all of them. Consider choosing a specific contract to be verified in order to reduce the solving problems. Consider increasing the timeout per query.
|
@ -1,12 +0,0 @@
|
||||
// SPDX-License-Identifier: GPL-3.0
|
||||
pragma solidity >=0.0;
|
||||
contract C {
|
||||
struct S {
|
||||
uint x;
|
||||
}
|
||||
S s;
|
||||
function f(bool b) public {
|
||||
s.x |= b ? 1 : 2;
|
||||
assert(s.x > 0);
|
||||
}
|
||||
}
|
@ -1 +1 @@
|
||||
--model-checker-engine all --model-checker-show-unproved true
|
||||
--model-checker-engine all --model-checker-show-unproved
|
||||
|
@ -1 +1 @@
|
||||
--model-checker-engine bmc --model-checker-show-unproved true
|
||||
--model-checker-engine bmc --model-checker-show-unproved
|
||||
|
@ -1 +1 @@
|
||||
--model-checker-engine chc --model-checker-show-unproved true
|
||||
--model-checker-engine chc --model-checker-show-unproved
|
||||
|
@ -1 +0,0 @@
|
||||
--model-checker-engine all --model-checker-show-unproved aaa
|
@ -1 +0,0 @@
|
||||
the argument ('aaa') for option '--model-checker-show-unproved' is invalid. Valid choices are 'on|off', 'yes|no', '1|0' and 'true|false'
|
@ -1,12 +0,0 @@
|
||||
// SPDX-License-Identifier: GPL-3.0
|
||||
pragma solidity >=0.0;
|
||||
contract C {
|
||||
struct S {
|
||||
uint x;
|
||||
}
|
||||
S s;
|
||||
function f(bool b) public {
|
||||
s.x |= b ? 1 : 2;
|
||||
assert(s.x > 0);
|
||||
}
|
||||
}
|
@ -146,7 +146,7 @@ BOOST_AUTO_TEST_CASE(cli_mode_options)
|
||||
"--model-checker-contracts=contract1.yul:A,contract2.yul:B",
|
||||
"--model-checker-div-mod-no-slacks",
|
||||
"--model-checker-engine=bmc",
|
||||
"--model-checker-show-unproved=true",
|
||||
"--model-checker-show-unproved",
|
||||
"--model-checker-solvers=z3,smtlib2",
|
||||
"--model-checker-targets=underflow,divByZero",
|
||||
"--model-checker-timeout=5",
|
||||
@ -278,7 +278,7 @@ BOOST_AUTO_TEST_CASE(assembly_mode_options)
|
||||
"contract2.yul:B",
|
||||
"--model-checker-div-mod-no-slacks", // Ignored in assembly mode
|
||||
"--model-checker-engine=bmc", // Ignored in assembly mode
|
||||
"--model-checker-show-unproved=true", // Ignored in assembly mode
|
||||
"--model-checker-show-unproved", // Ignored in assembly mode
|
||||
"--model-checker-solvers=z3,smtlib2", // Ignored in assembly mode
|
||||
"--model-checker-targets=" // Ignored in assembly mode
|
||||
"underflow,"
|
||||
@ -378,7 +378,7 @@ BOOST_AUTO_TEST_CASE(standard_json_mode_options)
|
||||
"contract2.yul:B",
|
||||
"--model-checker-div-mod-no-slacks", // Ignored in Standard JSON mode
|
||||
"--model-checker-engine=bmc", // Ignored in Standard JSON mode
|
||||
"--model-checker-show-unproved=true", // Ignored in Standard JSON mode
|
||||
"--model-checker-show-unproved", // Ignored in Standard JSON mode
|
||||
"--model-checker-solvers=z3,smtlib2", // Ignored in Standard JSON mode
|
||||
"--model-checker-targets=" // Ignored in Standard JSON mode
|
||||
"underflow,"
|
||||
|
Loading…
Reference in New Issue
Block a user