mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Add isoltest option to ignore OS
This commit is contained in:
parent
0e7e936fe6
commit
d25fb29178
@ -66,6 +66,21 @@ SMTCheckerTest::SMTCheckerTest(string const& _filename): SyntaxTest(_filename, E
|
|||||||
m_ignoreCex = true;
|
m_ignoreCex = true;
|
||||||
else
|
else
|
||||||
BOOST_THROW_EXCEPTION(runtime_error("Invalid SMT counterexample choice."));
|
BOOST_THROW_EXCEPTION(runtime_error("Invalid SMT counterexample choice."));
|
||||||
|
|
||||||
|
auto const& ignoreOSSetting = m_reader.stringSetting("SMTIgnoreOS", "none");
|
||||||
|
for (string const& os: ignoreOSSetting | ranges::views::split(',') | ranges::to<vector<string>>())
|
||||||
|
{
|
||||||
|
#ifdef __APPLE__
|
||||||
|
if (os == "macos")
|
||||||
|
m_shouldRun = false;
|
||||||
|
#elif _WIN32
|
||||||
|
if (os == "windows")
|
||||||
|
m_shouldRun = false;
|
||||||
|
#elif __linux__
|
||||||
|
if (os == "linux")
|
||||||
|
m_shouldRun = false;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
TestCase::TestResult SMTCheckerTest::run(ostream& _stream, string const& _linePrefix, bool _formatted)
|
TestCase::TestResult SMTCheckerTest::run(ostream& _stream, string const& _linePrefix, bool _formatted)
|
||||||
|
@ -2,13 +2,17 @@ contract C {
|
|||||||
function g(address payable i) public {
|
function g(address payable i) public {
|
||||||
require(address(this).balance == 100);
|
require(address(this).balance == 100);
|
||||||
i.call{value: 10}("");
|
i.call{value: 10}("");
|
||||||
// Disabled due to Spacer nondeterminism
|
assert(address(this).balance == 90); // should hold
|
||||||
//assert(address(this).balance == 90); // should hold
|
assert(address(this).balance == 100); // should fail
|
||||||
// Disabled due to Spacer nondeterminism
|
|
||||||
//assert(address(this).balance == 100); // should fail
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ====
|
// ====
|
||||||
// SMTEngine: all
|
// SMTEngine: all
|
||||||
|
// SMTIgnoreOS: macos
|
||||||
// ----
|
// ----
|
||||||
// Warning 9302: (96-117): Return value of low-level calls not used.
|
// Warning 9302: (96-117): Return value of low-level calls not used.
|
||||||
|
// Warning 1218: (175-211): CHC: Error trying to invoke SMT solver.
|
||||||
|
// Warning 6328: (121-156): CHC: Assertion violation might happen here.
|
||||||
|
// Warning 6328: (175-211): CHC: Assertion violation might happen here.
|
||||||
|
// Warning 4661: (121-156): BMC: Assertion violation happens here.
|
||||||
|
// Warning 4661: (175-211): BMC: Assertion violation happens here.
|
||||||
|
Loading…
Reference in New Issue
Block a user