Skip to content
This repository has been archived by the owner on Oct 28, 2021. It is now read-only.

Commit

Permalink
EIP158 testfillers and test fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
Dimitry authored and winsvega committed Nov 22, 2016
1 parent d0a4b8f commit 9d6a293
Show file tree
Hide file tree
Showing 53 changed files with 52,107 additions and 566 deletions.
2 changes: 1 addition & 1 deletion test/TestHelper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -563,7 +563,7 @@ string compileLLL(string const& _code)
#else
char input[1024];
boost::filesystem::path path(boost::filesystem::temp_directory_path() / boost::filesystem::unique_path());
string cmd = string("lllc -o 0 ") + path.string();
string cmd = string("lllc ") + path.string();
writeFile(path.string(), _code);

FILE *fp = popen(cmd.c_str(), "r");
Expand Down
361 changes: 3 additions & 358 deletions test/libethereum/BlockChainTests.cpp

Large diffs are not rendered by default.

164 changes: 164 additions & 0 deletions test/libethereum/BlockChainTestsBoost.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
/*
This file is part of cpp-ethereum.
cpp-ethereum is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
cpp-ethereum is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with cpp-ethereum. If not, see <http://www.gnu.org/licenses/>.
*/
/** @file BlockChainTestsBoost.cpp
* @author Christoph Jentzsch <[email protected]>, Dimitry Khokhlov <[email protected]>
* @date 2016
* BlockChain boost test cases.
*/

#include <boost/filesystem/operations.hpp>
#include <boost/test/unit_test.hpp>
#include <boost/filesystem.hpp>
#include <test/TestHelper.h>
#include <test/BlockChainHelper.h>

class frontierFixture { public: frontierFixture() { dev::test::TestBlockChain::s_sealEngineNetwork = eth::Network::FrontierTest; } };
class homesteadFixture { public: homesteadFixture() { dev::test::TestBlockChain::s_sealEngineNetwork = eth::Network::HomesteadTest; } };
class transitionFixture { public: transitionFixture() { dev::test::TestBlockChain::s_sealEngineNetwork = eth::Network::Test; } };
class eip150Fixture { public: eip150Fixture() { dev::test::TestBlockChain::s_sealEngineNetwork = eth::Network::EIP150Test; } };


//BlockChainTestsTransition
BOOST_FIXTURE_TEST_SUITE(BlockChainTestsTransition, transitionFixture)
BOOST_AUTO_TEST_CASE(bcSimpleTransition) { dev::test::executeTests("bcSimpleTransitionTest", "/BlockchainTests/TestNetwork",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/TestNetwork", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcTheDaoTest) { dev::test::executeTests("bcTheDaoTest", "/BlockchainTests/TestNetwork",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/TestNetwork", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcEIP150Test) { dev::test::executeTests("bcEIP150Test", "/BlockchainTests/TestNetwork",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/TestNetwork", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_SUITE_END()


//BlockChainTestsEIP150
BOOST_FIXTURE_TEST_SUITE(BlockChainTestsEIP150, eip150Fixture)
BOOST_AUTO_TEST_CASE(bcForkStressTestEIP150) { dev::test::executeTests("bcForkStressTest", "/BlockchainTests/EIP150",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/EIP150", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcSuicideIssueEIP150)
{
if (dev::test::Options::get().memory)
dev::test::executeTests("bcSuicideIssue", "/BlockchainTests/EIP150",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/EIP150", dev::test::doBlockchainTests);
}
BOOST_AUTO_TEST_CASE(bcTotalDifficultyTestEIP150) { dev::test::executeTests("bcTotalDifficultyTest", "/BlockchainTests/EIP150",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/EIP150", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcMultiChainTestEIP150) { dev::test::executeTests("bcMultiChainTest", "/BlockchainTests/EIP150",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/EIP150", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcRPC_API_TestEIP150) { dev::test::executeTests("bcRPC_API_Test", "/BlockchainTests/EIP150",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/EIP150", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcValidBlockTestEIP150) { dev::test::executeTests("bcValidBlockTest", "/BlockchainTests/EIP150",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/EIP150", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcInvalidHeaderTestEIP150) { dev::test::executeTests("bcInvalidHeaderTest", "/BlockchainTests/EIP150",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/EIP150", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcUncleHeaderValiditiyEIP150) { dev::test::executeTests("bcUncleHeaderValiditiy", "/BlockchainTests/EIP150",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/EIP150", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcGasPricerTestEIP150) { dev::test::executeTests("bcGasPricerTest", "/BlockchainTests/EIP150",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/EIP150", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcUncleTestEIP150) { dev::test::executeTests("bcUncleTest", "/BlockchainTests/EIP150",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/EIP150", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcBlockGasLimitTestEIP150) { dev::test::executeTests("bcBlockGasLimitTest", "/BlockchainTests/EIP150",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/EIP150", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcStateTestEIP150) { dev::test::executeTests("bcStateTest", "/BlockchainTests/EIP150",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/EIP150", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcWalletTestEIP150)
{
if (test::Options::get().wallet)
dev::test::executeTests("bcWalletTest", "/BlockchainTests/EIP150",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/EIP150", dev::test::doBlockchainTests);
}
BOOST_AUTO_TEST_SUITE_END()


//BlockChainTestsHomestead
BOOST_FIXTURE_TEST_SUITE(BlockChainTestsHomestead, homesteadFixture)
BOOST_AUTO_TEST_CASE(bcExploitTestHomestead) { dev::test::executeTests("bcExploitTest", "/BlockchainTests/Homestead",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/Homestead", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcSuicideIssueHomestead)
{
if (dev::test::Options::get().memory)
dev::test::executeTests("bcSuicideIssue", "/BlockchainTests/Homestead",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/Homestead", dev::test::doBlockchainTests);
}
BOOST_AUTO_TEST_CASE(bcShanghaiLoveHomestead) { dev::test::executeTests("bcShanghaiLove", "/BlockchainTests/Homestead",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/Homestead", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcForkStressTestHomestead) { dev::test::executeTests("bcForkStressTest", "/BlockchainTests/Homestead",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/Homestead", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcTotalDifficultyTestHomestead) { dev::test::executeTests("bcTotalDifficultyTest", "/BlockchainTests/Homestead",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/Homestead", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcMultiChainTestHomestead) { dev::test::executeTests("bcMultiChainTest", "/BlockchainTests/Homestead",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/Homestead", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcInvalidRLPTestHomestead)
{
std::string fillersPath = dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/Homestead";
if (!dev::test::Options::get().fillTests)
dev::test::executeTests("bcInvalidRLPTest", "/BlockchainTests/Homestead",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/Homestead", dev::test::doBlockchainTests);
else
{
dev::test::TestOutputHelper::initTest();
dev::test::copyFile(fillersPath + "/bcInvalidRLPTest.json", dev::test::getTestPath() + "/BlockchainTests/Homestead/bcInvalidRLPTest.json");
}
}
BOOST_AUTO_TEST_CASE(bcRPC_API_TestHomestead) { dev::test::executeTests("bcRPC_API_Test", "/BlockchainTests/Homestead",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/Homestead", dev::test::doBlockchainTests);}
BOOST_AUTO_TEST_CASE(bcValidBlockTestHomestead) { dev::test::executeTests("bcValidBlockTest", "/BlockchainTests/Homestead",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/Homestead", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcInvalidHeaderTestHomestead) { dev::test::executeTests("bcInvalidHeaderTest", "/BlockchainTests/Homestead",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/Homestead", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcUncleHeaderValiditiyHomestead) { dev::test::executeTests("bcUncleHeaderValiditiy", "/BlockchainTests/Homestead",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/Homestead", dev::test::doBlockchainTests);}
BOOST_AUTO_TEST_CASE(bcGasPricerTestHomestead) { dev::test::executeTests("bcGasPricerTest", "/BlockchainTests/Homestead",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/Homestead", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcUncleTestHomestead) { dev::test::executeTests("bcUncleTest", "/BlockchainTests/Homestead",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/Homestead", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcBlockGasLimitTestHomestead) { dev::test::executeTests("bcBlockGasLimitTest", "/BlockchainTests/Homestead",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/Homestead", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcStateTestHomestead) { dev::test::executeTests("bcStateTest", "/BlockchainTests/Homestead",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/Homestead", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcWalletTestHomestead)
{
if (test::Options::get().wallet)
dev::test::executeTests("bcWalletTest", "/BlockchainTests/Homestead",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller/Homestead", dev::test::doBlockchainTests);
}
BOOST_AUTO_TEST_SUITE_END()


//BlockChainTests
BOOST_FIXTURE_TEST_SUITE(BlockChainTests, frontierFixture)
BOOST_AUTO_TEST_CASE(bcForkBlockTest)
{
std::string fillersPath = dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller";
if (!dev::test::Options::get().fillTests)
dev::test::executeTests("bcForkBlockTest", "/BlockchainTests",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller", dev::test::doBlockchainTests);
else
{
dev::test::TestOutputHelper::initTest();
dev::test::copyFile(fillersPath + "/bcForkBlockTest.json", dev::test::getTestPath() + "/BlockchainTests/bcForkBlockTest.json");
}
}
BOOST_AUTO_TEST_CASE(bcForkUncleTest)
{
std::string fillersPath = dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller";
if (!dev::test::Options::get().fillTests)
dev::test::executeTests("bcForkUncle", "/BlockchainTests",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller", dev::test::doBlockchainTests);
else
{
dev::test::TestOutputHelper::initTest();
dev::test::copyFile(fillersPath + "/bcForkUncle.json", dev::test::getTestPath() + "/BlockchainTests/bcForkUncle.json");
}
}
BOOST_AUTO_TEST_CASE(bcForkStressTest) { dev::test::executeTests("bcForkStressTest", "/BlockchainTests",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcMultiChainTest) { dev::test::executeTests("bcMultiChainTest", "/BlockchainTests",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcTotalDifficultyTest) { dev::test::executeTests("bcTotalDifficultyTest", "/BlockchainTests",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcInvalidRLPTest)
{
std::string fillersPath = dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller";
if (!dev::test::Options::get().fillTests)
dev::test::executeTests("bcInvalidRLPTest", "/BlockchainTests",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller", dev::test::doBlockchainTests);
else
{
dev::test::TestOutputHelper::initTest();
dev::test::copyFile(fillersPath + "/bcInvalidRLPTest.json", dev::test::getTestPath() + "/BlockchainTests/bcInvalidRLPTest.json");
}
}
BOOST_AUTO_TEST_CASE(bcRPC_API_Test) { dev::test::executeTests("bcRPC_API_Test", "/BlockchainTests",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcValidBlockTest) { dev::test::executeTests("bcValidBlockTest", "/BlockchainTests",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcInvalidHeaderTest) { dev::test::executeTests("bcInvalidHeaderTest", "/BlockchainTests",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcUncleTest) { dev::test::executeTests("bcUncleTest", "/BlockchainTests",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcUncleHeaderValiditiy) { dev::test::executeTests("bcUncleHeaderValiditiy", "/BlockchainTests",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcGasPricerTest) { dev::test::executeTests("bcGasPricerTest", "/BlockchainTests",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcBlockGasLimitTest) { dev::test::executeTests("bcBlockGasLimitTest", "/BlockchainTests",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(bcWalletTest)
{
if (test::Options::get().wallet)
dev::test::executeTests("bcWalletTest", "/BlockchainTests",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller", dev::test::doBlockchainTests);
}
BOOST_AUTO_TEST_CASE(bcStateTest) { dev::test::executeTests("bcStateTest", "/BlockchainTests",dev::test::getFolder(__FILE__) + "/BlockchainTestsFiller", dev::test::doBlockchainTests); }
BOOST_AUTO_TEST_CASE(userDefinedFile)
{
dev::test::TestBlockChain::s_sealEngineNetwork = dev::test::Options::get().sealEngineNetwork;
dev::test::userDefinedTest(dev::test::doBlockchainTests);
}
BOOST_AUTO_TEST_SUITE_END()
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "100000",
"nonce" : "0",
"code" : "{ (SUICIDE a94f5374fce5edbc8e2a8697c15331677e6ebf0b) }",
"code" : "{ (SUICIDE 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b) }",
"storage": {}
}
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "100000",
"nonce" : "0",
"code" : "{ (SUICIDE a94f5374fce5edbc8e2a8697c15331677e6ebf0b) }",
"code" : "{ (SUICIDE 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b) }",
"storage": {}
}
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "100000",
"nonce" : "0",
"code" : "{ (SUICIDE a94f5374fce5edbc8e2a8697c15331677e6ebf0b) }",
"code" : "{ (SUICIDE 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b) }",
"storage": {}
}
},
Expand Down
Loading

0 comments on commit 9d6a293

Please sign in to comment.