mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Replace safety stop by invalid
This commit is contained in:
parent
d01ffd1ad9
commit
17cac588d0
@ -617,8 +617,8 @@ LinkerObject const& Assembly::assemble() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!m_subs.empty() || !m_data.empty() || !m_auxiliaryData.empty())
|
if (!m_subs.empty() || !m_data.empty() || !m_auxiliaryData.empty())
|
||||||
// Append a STOP just to be sure.
|
// Append an INVALID here to help tests find miscompilation.
|
||||||
ret.bytecode.push_back(0);
|
ret.bytecode.push_back(byte(Instruction::INVALID));
|
||||||
|
|
||||||
for (size_t i = 0; i < m_subs.size(); ++i)
|
for (size_t i = 0; i < m_subs.size(); ++i)
|
||||||
{
|
{
|
||||||
|
@ -96,7 +96,7 @@ BOOST_AUTO_TEST_CASE(all_assembly_items)
|
|||||||
_assembly.assemble().toHex(),
|
_assembly.assemble().toHex(),
|
||||||
"5b6001600220606773__someLibrary___________________________"
|
"5b6001600220606773__someLibrary___________________________"
|
||||||
"6000567f556e75736564206665617475726520666f722070757368696e"
|
"6000567f556e75736564206665617475726520666f722070757368696e"
|
||||||
"6720737472696e605f6001605e7300000000000000000000000000000000000000000000"
|
"6720737472696e605f6001605e73000000000000000000000000000000000000000000fe"
|
||||||
"fe010203044266eeaa"
|
"fe010203044266eeaa"
|
||||||
);
|
);
|
||||||
BOOST_CHECK_EQUAL(
|
BOOST_CHECK_EQUAL(
|
||||||
|
@ -111,12 +111,12 @@ BOOST_AUTO_TEST_CASE(basic_compilation)
|
|||||||
BOOST_CHECK(contract["bytecode"].isString());
|
BOOST_CHECK(contract["bytecode"].isString());
|
||||||
BOOST_CHECK_EQUAL(
|
BOOST_CHECK_EQUAL(
|
||||||
dev::test::bytecodeSansMetadata(contract["bytecode"].asString()),
|
dev::test::bytecodeSansMetadata(contract["bytecode"].asString()),
|
||||||
"6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00"
|
"6080604052348015600f57600080fd5b50603580601d6000396000f3fe6080604052600080fdfe"
|
||||||
);
|
);
|
||||||
BOOST_CHECK(contract["runtimeBytecode"].isString());
|
BOOST_CHECK(contract["runtimeBytecode"].isString());
|
||||||
BOOST_CHECK_EQUAL(
|
BOOST_CHECK_EQUAL(
|
||||||
dev::test::bytecodeSansMetadata(contract["runtimeBytecode"].asString()),
|
dev::test::bytecodeSansMetadata(contract["runtimeBytecode"].asString()),
|
||||||
"6080604052600080fd00"
|
"6080604052600080fdfe"
|
||||||
);
|
);
|
||||||
BOOST_CHECK(contract["functionHashes"].isObject());
|
BOOST_CHECK(contract["functionHashes"].isObject());
|
||||||
BOOST_CHECK(contract["gasEstimates"].isObject());
|
BOOST_CHECK(contract["gasEstimates"].isObject());
|
||||||
@ -153,12 +153,12 @@ BOOST_AUTO_TEST_CASE(single_compilation)
|
|||||||
BOOST_CHECK(contract["bytecode"].isString());
|
BOOST_CHECK(contract["bytecode"].isString());
|
||||||
BOOST_CHECK_EQUAL(
|
BOOST_CHECK_EQUAL(
|
||||||
dev::test::bytecodeSansMetadata(contract["bytecode"].asString()),
|
dev::test::bytecodeSansMetadata(contract["bytecode"].asString()),
|
||||||
"6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00"
|
"6080604052348015600f57600080fd5b50603580601d6000396000f3fe6080604052600080fdfe"
|
||||||
);
|
);
|
||||||
BOOST_CHECK(contract["runtimeBytecode"].isString());
|
BOOST_CHECK(contract["runtimeBytecode"].isString());
|
||||||
BOOST_CHECK_EQUAL(
|
BOOST_CHECK_EQUAL(
|
||||||
dev::test::bytecodeSansMetadata(contract["runtimeBytecode"].asString()),
|
dev::test::bytecodeSansMetadata(contract["runtimeBytecode"].asString()),
|
||||||
"6080604052600080fd00"
|
"6080604052600080fdfe"
|
||||||
);
|
);
|
||||||
BOOST_CHECK(contract["functionHashes"].isObject());
|
BOOST_CHECK(contract["functionHashes"].isObject());
|
||||||
BOOST_CHECK(contract["gasEstimates"].isObject());
|
BOOST_CHECK(contract["gasEstimates"].isObject());
|
||||||
|
@ -261,7 +261,7 @@ BOOST_AUTO_TEST_CASE(basic_compilation)
|
|||||||
BOOST_CHECK(contract["evm"]["bytecode"]["object"].isString());
|
BOOST_CHECK(contract["evm"]["bytecode"]["object"].isString());
|
||||||
BOOST_CHECK_EQUAL(
|
BOOST_CHECK_EQUAL(
|
||||||
dev::test::bytecodeSansMetadata(contract["evm"]["bytecode"]["object"].asString()),
|
dev::test::bytecodeSansMetadata(contract["evm"]["bytecode"]["object"].asString()),
|
||||||
"6080604052348015600f57600080fd5b50603580601d6000396000f3006080604052600080fd00"
|
"6080604052348015600f57600080fd5b50603580601d6000396000f3fe6080604052600080fdfe"
|
||||||
);
|
);
|
||||||
BOOST_CHECK(contract["evm"]["assembly"].isString());
|
BOOST_CHECK(contract["evm"]["assembly"].isString());
|
||||||
BOOST_CHECK(contract["evm"]["assembly"].asString().find(
|
BOOST_CHECK(contract["evm"]["assembly"].asString().find(
|
||||||
|
Loading…
Reference in New Issue
Block a user