Replace safety stop by invalid

This commit is contained in:
Leonardo Alt 2018-08-14 11:41:40 +02:00
parent d01ffd1ad9
commit 17cac588d0
4 changed files with 8 additions and 8 deletions

View File

@ -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)
{ {

View File

@ -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(

View File

@ -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());

View File

@ -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(