mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Project-wide reorganisation of namespaces.
This commit is contained in:
parent
d0d1e91a68
commit
38dd3fb050
14
MemTrie.cpp
14
MemTrie.cpp
@ -25,9 +25,10 @@
|
|||||||
#include <libethcore/SHA3.h>
|
#include <libethcore/SHA3.h>
|
||||||
#include <libethcore/CommonEth.h>
|
#include <libethcore/CommonEth.h>
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace eth;
|
using namespace dev;
|
||||||
|
using namespace dev::eth;
|
||||||
|
|
||||||
namespace eth
|
namespace dev
|
||||||
{
|
{
|
||||||
|
|
||||||
#define ENABLE_DEBUG_PRINT 0
|
#define ENABLE_DEBUG_PRINT 0
|
||||||
@ -54,7 +55,7 @@ public:
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/// 256-bit hash of the node - this is a SHA-3/256 hash of the RLP of the node.
|
/// 256-bit hash of the node - this is a SHA-3/256 hash of the RLP of the node.
|
||||||
h256 hash256() const { RLPStream s; makeRLP(s); return eth::sha3(s.out()); }
|
h256 hash256() const { RLPStream s; makeRLP(s); return dev::eth::sha3(s.out()); }
|
||||||
bytes rlp() const { RLPStream s; makeRLP(s); return s.out(); }
|
bytes rlp() const { RLPStream s; makeRLP(s); return s.out(); }
|
||||||
void mark() { m_hash256 = h256(); }
|
void mark() { m_hash256 = h256(); }
|
||||||
|
|
||||||
@ -199,7 +200,7 @@ void MemTrieNode::putRLP(RLPStream& _parentStream) const
|
|||||||
if (s.out().size() < 32)
|
if (s.out().size() < 32)
|
||||||
_parentStream.APPEND_CHILD(s.out());
|
_parentStream.APPEND_CHILD(s.out());
|
||||||
else
|
else
|
||||||
_parentStream << eth::sha3(s.out());
|
_parentStream << dev::eth::sha3(s.out());
|
||||||
}
|
}
|
||||||
|
|
||||||
void TrieBranchNode::makeRLP(RLPStream& _intoStream) const
|
void TrieBranchNode::makeRLP(RLPStream& _intoStream) const
|
||||||
@ -228,7 +229,7 @@ void TrieInfixNode::makeRLP(RLPStream& _intoStream) const
|
|||||||
|
|
||||||
MemTrieNode* MemTrieNode::newBranch(bytesConstRef _k1, std::string const& _v1, bytesConstRef _k2, std::string const& _v2)
|
MemTrieNode* MemTrieNode::newBranch(bytesConstRef _k1, std::string const& _v1, bytesConstRef _k2, std::string const& _v2)
|
||||||
{
|
{
|
||||||
uint prefix = commonPrefix(_k1, _k2);
|
unsigned prefix = commonPrefix(_k1, _k2);
|
||||||
|
|
||||||
MemTrieNode* ret;
|
MemTrieNode* ret;
|
||||||
if (_k1.size() == prefix)
|
if (_k1.size() == prefix)
|
||||||
@ -347,7 +348,7 @@ MemTrieNode* TrieInfixNode::insert(bytesConstRef _key, std::string const& _value
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
uint prefix = commonPrefix(_key, m_ext);
|
unsigned prefix = commonPrefix(_key, m_ext);
|
||||||
if (prefix)
|
if (prefix)
|
||||||
{
|
{
|
||||||
// one infix becomes two infixes, then insert into the second
|
// one infix becomes two infixes, then insert into the second
|
||||||
@ -478,3 +479,4 @@ void MemTrie::remove(std::string const& _key)
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
#include <libethential/Common.h>
|
#include <libethential/Common.h>
|
||||||
#include <libethential/FixedHash.h>
|
#include <libethential/FixedHash.h>
|
||||||
|
|
||||||
namespace eth
|
namespace dev
|
||||||
{
|
{
|
||||||
|
|
||||||
class MemTrieNode;
|
class MemTrieNode;
|
||||||
|
@ -19,11 +19,14 @@
|
|||||||
* @date 2014
|
* @date 2014
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "TestHelper.h"
|
||||||
|
|
||||||
#include <thread>
|
#include <thread>
|
||||||
#include <chrono>
|
#include <chrono>
|
||||||
#include <libethereum/Client.h>
|
#include <libethereum/Client.h>
|
||||||
#include "TestHelper.h"
|
|
||||||
|
|
||||||
|
namespace dev
|
||||||
|
{
|
||||||
namespace eth
|
namespace eth
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -47,3 +50,4 @@ void connectClients(Client& c1, Client& c2)
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
@ -21,10 +21,15 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
namespace dev
|
||||||
|
{
|
||||||
namespace eth
|
namespace eth
|
||||||
{
|
{
|
||||||
|
|
||||||
|
class Client;
|
||||||
|
|
||||||
void mine(Client& c, int numBlocks);
|
void mine(Client& c, int numBlocks);
|
||||||
void connectClients(Client& c1, Client& c2);
|
void connectClients(Client& c1, Client& c2);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
13
TrieHash.cpp
13
TrieHash.cpp
@ -25,9 +25,10 @@
|
|||||||
#include <libethcore/SHA3.h>
|
#include <libethcore/SHA3.h>
|
||||||
#include <libethcore/CommonEth.h>
|
#include <libethcore/CommonEth.h>
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace eth;
|
using namespace dev;
|
||||||
|
using namespace dev::eth;
|
||||||
|
|
||||||
namespace eth
|
namespace dev
|
||||||
{
|
{
|
||||||
|
|
||||||
/*/
|
/*/
|
||||||
@ -67,12 +68,12 @@ void hash256rlp(HexMap const& _s, HexMap::const_iterator _begin, HexMap::const_i
|
|||||||
{
|
{
|
||||||
// find the number of common prefix nibbles shared
|
// find the number of common prefix nibbles shared
|
||||||
// i.e. the minimum number of nibbles shared at the beginning between the first hex string and each successive.
|
// i.e. the minimum number of nibbles shared at the beginning between the first hex string and each successive.
|
||||||
uint sharedPre = (uint)-1;
|
unsigned sharedPre = (unsigned)-1;
|
||||||
uint c = 0;
|
unsigned c = 0;
|
||||||
for (auto i = std::next(_begin); i != _end && sharedPre; ++i, ++c)
|
for (auto i = std::next(_begin); i != _end && sharedPre; ++i, ++c)
|
||||||
{
|
{
|
||||||
uint x = std::min(sharedPre, std::min((uint)_begin->first.size(), (uint)i->first.size()));
|
unsigned x = std::min(sharedPre, std::min((unsigned)_begin->first.size(), (unsigned)i->first.size()));
|
||||||
uint shared = _preLen;
|
unsigned shared = _preLen;
|
||||||
for (; shared < x && _begin->first[shared] == i->first[shared]; ++shared) {}
|
for (; shared < x && _begin->first[shared] == i->first[shared]; ++shared) {}
|
||||||
sharedPre = std::min(shared, sharedPre);
|
sharedPre = std::min(shared, sharedPre);
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
#include <libethential/Common.h>
|
#include <libethential/Common.h>
|
||||||
#include <libethential/FixedHash.h>
|
#include <libethential/FixedHash.h>
|
||||||
|
|
||||||
namespace eth
|
namespace dev
|
||||||
{
|
{
|
||||||
|
|
||||||
bytes rlp256(StringMap const& _s);
|
bytes rlp256(StringMap const& _s);
|
||||||
|
@ -29,7 +29,8 @@
|
|||||||
#include <boost/test/unit_test.hpp>
|
#include <boost/test/unit_test.hpp>
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace eth;
|
using namespace dev;
|
||||||
|
using namespace dev::eth;
|
||||||
|
|
||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(crypto_tests)
|
BOOST_AUTO_TEST_CASE(crypto_tests)
|
||||||
@ -145,7 +146,7 @@ int cryptoTest()
|
|||||||
int ret = secp256k1_ecdsa_recover_compact((byte const*)hmsg.data(), (int)hmsg.size(), (byte const*)sig64.data(), pubkey.data(), &pubkeylen, 0, (int)t.vrs.v - 27);
|
int ret = secp256k1_ecdsa_recover_compact((byte const*)hmsg.data(), (int)hmsg.size(), (byte const*)sig64.data(), pubkey.data(), &pubkeylen, 0, (int)t.vrs.v - 27);
|
||||||
pubkey.resize(pubkeylen);
|
pubkey.resize(pubkeylen);
|
||||||
cout << "RECPUB: " << dec << ret << " " << pubkeylen << " " << toHex(pubkey) << endl;
|
cout << "RECPUB: " << dec << ret << " " << pubkeylen << " " << toHex(pubkey) << endl;
|
||||||
cout << "SENDER: " << hex << toAddress(eth::sha3(bytesConstRef(&pubkey).cropped(1))) << dec << endl;
|
cout << "SENDER: " << hex << toAddress(dev::eth::sha3(bytesConstRef(&pubkey).cropped(1))) << dec << endl;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -25,7 +25,8 @@
|
|||||||
#include <libethcore/Dagger.h>
|
#include <libethcore/Dagger.h>
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace std::chrono;
|
using namespace std::chrono;
|
||||||
using namespace eth;
|
using namespace dev;
|
||||||
|
using namespace dev::eth;
|
||||||
|
|
||||||
int daggerTest()
|
int daggerTest()
|
||||||
{
|
{
|
||||||
|
3
fork.cpp
3
fork.cpp
@ -27,7 +27,8 @@
|
|||||||
#include <libethereum/EthereumHost.h>
|
#include <libethereum/EthereumHost.h>
|
||||||
#include "TestHelper.h"
|
#include "TestHelper.h"
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace eth;
|
using namespace dev;
|
||||||
|
using namespace dev::eth;
|
||||||
|
|
||||||
// Disabled since tests shouldn't block. Need a short cut to avoid real mining.
|
// Disabled since tests shouldn't block. Need a short cut to avoid real mining.
|
||||||
/*
|
/*
|
||||||
|
@ -28,7 +28,8 @@
|
|||||||
#include <boost/test/unit_test.hpp>
|
#include <boost/test/unit_test.hpp>
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace eth;
|
using namespace dev;
|
||||||
|
using namespace dev::eth;
|
||||||
|
|
||||||
namespace js = json_spirit;
|
namespace js = json_spirit;
|
||||||
|
|
||||||
|
@ -27,7 +27,8 @@
|
|||||||
#include <boost/test/unit_test.hpp>
|
#include <boost/test/unit_test.hpp>
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace eth;
|
using namespace dev;
|
||||||
|
using namespace dev::eth;
|
||||||
namespace js = json_spirit;
|
namespace js = json_spirit;
|
||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(hexPrefix_test)
|
BOOST_AUTO_TEST_CASE(hexPrefix_test)
|
||||||
|
3
main.cpp
3
main.cpp
@ -38,7 +38,8 @@ int peerTest(int argc, char** argv);
|
|||||||
#include <libethential/Log.h>
|
#include <libethential/Log.h>
|
||||||
#include <libethcore/BlockInfo.h>
|
#include <libethcore/BlockInfo.h>
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace eth;
|
using namespace dev;
|
||||||
|
using namespace dev::eth;
|
||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(basic_tests)
|
BOOST_AUTO_TEST_CASE(basic_tests)
|
||||||
{
|
{
|
||||||
|
@ -27,7 +27,8 @@
|
|||||||
#include <libethereum/EthereumHost.h>
|
#include <libethereum/EthereumHost.h>
|
||||||
#include "TestHelper.h"
|
#include "TestHelper.h"
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace eth;
|
using namespace dev;
|
||||||
|
using namespace dev::eth;
|
||||||
|
|
||||||
// Disabled since tests shouldn't block (not the worst offender, but timeout should be reduced anyway).
|
// Disabled since tests shouldn't block (not the worst offender, but timeout should be reduced anyway).
|
||||||
/*
|
/*
|
||||||
|
4
peer.cpp
4
peer.cpp
@ -24,8 +24,8 @@
|
|||||||
#include <thread>
|
#include <thread>
|
||||||
#include <libp2p/Host.h>
|
#include <libp2p/Host.h>
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace eth;
|
using namespace dev;
|
||||||
using namespace p2p;
|
using namespace dev::p2p;
|
||||||
|
|
||||||
int peerTest(int argc, char** argv)
|
int peerTest(int argc, char** argv)
|
||||||
{
|
{
|
||||||
|
18
rlp.cpp
18
rlp.cpp
@ -30,10 +30,10 @@
|
|||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace eth;
|
using namespace dev;
|
||||||
namespace js = json_spirit;
|
namespace js = json_spirit;
|
||||||
|
|
||||||
namespace eth
|
namespace dev
|
||||||
{
|
{
|
||||||
namespace test
|
namespace test
|
||||||
{
|
{
|
||||||
@ -116,7 +116,7 @@ namespace eth
|
|||||||
BOOST_CHECK( !u.isData() );
|
BOOST_CHECK( !u.isData() );
|
||||||
js::mArray& arr = v.get_array();
|
js::mArray& arr = v.get_array();
|
||||||
BOOST_CHECK( u.itemCount() == arr.size() );
|
BOOST_CHECK( u.itemCount() == arr.size() );
|
||||||
uint i;
|
unsigned i;
|
||||||
for( i = 0; i < arr.size(); i++ )
|
for( i = 0; i < arr.size(); i++ )
|
||||||
{
|
{
|
||||||
RLP item = u[i];
|
RLP item = u[i];
|
||||||
@ -137,16 +137,16 @@ BOOST_AUTO_TEST_CASE(rlp_encoding_test)
|
|||||||
{
|
{
|
||||||
cnote << "Testing RLP Encoding...";
|
cnote << "Testing RLP Encoding...";
|
||||||
js::mValue v;
|
js::mValue v;
|
||||||
eth::test::getRLPTestCases(v);
|
dev::test::getRLPTestCases(v);
|
||||||
|
|
||||||
for (auto& i: v.get_obj())
|
for (auto& i: v.get_obj())
|
||||||
{
|
{
|
||||||
js::mObject& o = i.second.get_obj();
|
js::mObject& o = i.second.get_obj();
|
||||||
cnote << i.first;
|
cnote << i.first;
|
||||||
eth::test::checkRLPTestCase(o);
|
dev::test::checkRLPTestCase(o);
|
||||||
|
|
||||||
RLPStream s;
|
RLPStream s;
|
||||||
eth::test::buildRLP(o["in"], s);
|
dev::test::buildRLP(o["in"], s);
|
||||||
|
|
||||||
std::string expectedText(o["out"].get_str());
|
std::string expectedText(o["out"].get_str());
|
||||||
std::transform(expectedText.begin(), expectedText.end(), expectedText.begin(), ::tolower );
|
std::transform(expectedText.begin(), expectedText.end(), expectedText.begin(), ::tolower );
|
||||||
@ -173,19 +173,19 @@ BOOST_AUTO_TEST_CASE(rlp_decoding_test)
|
|||||||
// and then compare the output structure to the json of the
|
// and then compare the output structure to the json of the
|
||||||
// input object.
|
// input object.
|
||||||
js::mValue v;
|
js::mValue v;
|
||||||
eth::test::getRLPTestCases(v);
|
dev::test::getRLPTestCases(v);
|
||||||
for (auto& i: v.get_obj())
|
for (auto& i: v.get_obj())
|
||||||
{
|
{
|
||||||
js::mObject& o = i.second.get_obj();
|
js::mObject& o = i.second.get_obj();
|
||||||
cnote << i.first;
|
cnote << i.first;
|
||||||
eth::test::checkRLPTestCase(o);
|
dev::test::checkRLPTestCase(o);
|
||||||
|
|
||||||
js::mValue& inputData = o["in"];
|
js::mValue& inputData = o["in"];
|
||||||
bytes payloadToDecode = fromHex(o["out"].get_str());
|
bytes payloadToDecode = fromHex(o["out"].get_str());
|
||||||
|
|
||||||
RLP payload(payloadToDecode);
|
RLP payload(payloadToDecode);
|
||||||
|
|
||||||
eth::test::checkRLPAgainstJson(inputData, payload);
|
dev::test::checkRLPAgainstJson(inputData, payload);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,8 @@
|
|||||||
#include <libethereum/State.h>
|
#include <libethereum/State.h>
|
||||||
#include <libethereum/Defaults.h>
|
#include <libethereum/Defaults.h>
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace eth;
|
using namespace dev;
|
||||||
|
using namespace dev::eth;
|
||||||
|
|
||||||
int stateTest()
|
int stateTest()
|
||||||
{
|
{
|
||||||
|
21
trie.cpp
21
trie.cpp
@ -29,22 +29,23 @@
|
|||||||
#include <boost/test/unit_test.hpp>
|
#include <boost/test/unit_test.hpp>
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace eth;
|
using namespace dev;
|
||||||
|
using namespace dev::eth;
|
||||||
|
|
||||||
namespace js = json_spirit;
|
namespace js = json_spirit;
|
||||||
|
|
||||||
namespace eth
|
namespace dev
|
||||||
|
{
|
||||||
|
namespace test
|
||||||
{
|
{
|
||||||
namespace test
|
|
||||||
{
|
|
||||||
static unsigned fac(unsigned _i)
|
|
||||||
{
|
|
||||||
return _i > 2 ? _i * fac(_i - 1) : _i;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
static unsigned fac(unsigned _i)
|
||||||
|
{
|
||||||
|
return _i > 2 ? _i * fac(_i - 1) : _i;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(trie_tests)
|
BOOST_AUTO_TEST_CASE(trie_tests)
|
||||||
{
|
{
|
||||||
@ -66,7 +67,7 @@ BOOST_AUTO_TEST_CASE(trie_tests)
|
|||||||
if (!ss.back().second.find("0x"))
|
if (!ss.back().second.find("0x"))
|
||||||
ss.back().second = asString(fromHex(ss.back().second.substr(2)));
|
ss.back().second = asString(fromHex(ss.back().second.substr(2)));
|
||||||
}
|
}
|
||||||
for (unsigned j = 0; j < min(1000u, eth::test::fac((unsigned)ss.size())); ++j)
|
for (unsigned j = 0; j < min(1000u, dev::test::fac((unsigned)ss.size())); ++j)
|
||||||
{
|
{
|
||||||
next_permutation(ss.begin(), ss.end());
|
next_permutation(ss.begin(), ss.end());
|
||||||
MemoryDB m;
|
MemoryDB m;
|
||||||
|
@ -27,7 +27,8 @@
|
|||||||
#include <libethereum/EthereumHost.h>
|
#include <libethereum/EthereumHost.h>
|
||||||
#include "TestHelper.h"
|
#include "TestHelper.h"
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace eth;
|
using namespace dev;
|
||||||
|
using namespace dev::eth;
|
||||||
|
|
||||||
// Disabled since tests shouldn't block. Need a short cut to avoid real mining.
|
// Disabled since tests shouldn't block. Need a short cut to avoid real mining.
|
||||||
/*
|
/*
|
||||||
@ -46,7 +47,7 @@ BOOST_AUTO_TEST_CASE(mine_local_simple_tx)
|
|||||||
//send c2 some eth from c1
|
//send c2 some eth from c1
|
||||||
auto txAmount = c1bal / 2u;
|
auto txAmount = c1bal / 2u;
|
||||||
auto gasPrice = 10 * szabo;
|
auto gasPrice = 10 * szabo;
|
||||||
auto gas = eth::c_callGas;
|
auto gas = dev::eth::c_callGas;
|
||||||
c1.transact(kp1.secret(), txAmount, kp2.address(), bytes(), gas, gasPrice);
|
c1.transact(kp1.secret(), txAmount, kp2.address(), bytes(), gas, gasPrice);
|
||||||
|
|
||||||
//mine some more to include the transaction on chain
|
//mine some more to include the transaction on chain
|
||||||
@ -74,7 +75,7 @@ BOOST_AUTO_TEST_CASE(mine_and_send_to_peer)
|
|||||||
//send c2 some eth from c1
|
//send c2 some eth from c1
|
||||||
auto txAmount = c1bal / 2u;
|
auto txAmount = c1bal / 2u;
|
||||||
auto gasPrice = 10 * szabo;
|
auto gasPrice = 10 * szabo;
|
||||||
auto gas = eth::c_callGas;
|
auto gas = dev::eth::c_callGas;
|
||||||
c1.transact(kp1.secret(), txAmount, kp2.address(), bytes(), gas, gasPrice);
|
c1.transact(kp1.secret(), txAmount, kp2.address(), bytes(), gas, gasPrice);
|
||||||
|
|
||||||
//mine some more to include the transaction on chain
|
//mine some more to include the transaction on chain
|
||||||
@ -105,7 +106,7 @@ BOOST_AUTO_TEST_CASE(mine_and_send_to_peer_fee_check)
|
|||||||
//send c2 some eth from c1
|
//send c2 some eth from c1
|
||||||
auto txAmount = c1StartBalance / 2u;
|
auto txAmount = c1StartBalance / 2u;
|
||||||
auto gasPrice = 10 * szabo;
|
auto gasPrice = 10 * szabo;
|
||||||
auto gas = eth::c_callGas;
|
auto gas = dev::eth::c_callGas;
|
||||||
c1.transact(kp1.secret(), txAmount, c2.address(), bytes(), gas, gasPrice);
|
c1.transact(kp1.secret(), txAmount, c2.address(), bytes(), gas, gasPrice);
|
||||||
|
|
||||||
//mine some more, this time with second client (so he can get fees from first client's tx)
|
//mine some more, this time with second client (so he can get fees from first client's tx)
|
||||||
|
13
vm.cpp
13
vm.cpp
@ -33,9 +33,10 @@
|
|||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace json_spirit;
|
using namespace json_spirit;
|
||||||
using namespace eth;
|
using namespace dev;
|
||||||
|
using namespace dev::eth;
|
||||||
|
|
||||||
namespace eth { namespace test {
|
namespace dev { namespace test {
|
||||||
|
|
||||||
class FakeExtVM: public ExtVMFace
|
class FakeExtVM: public ExtVMFace
|
||||||
{
|
{
|
||||||
@ -387,7 +388,7 @@ void doTests(json_spirit::mValue& v, bool _fillin)
|
|||||||
BOOST_REQUIRE(o.count("exec") > 0);
|
BOOST_REQUIRE(o.count("exec") > 0);
|
||||||
|
|
||||||
VM vm;
|
VM vm;
|
||||||
eth::test::FakeExtVM fev;
|
dev::test::FakeExtVM fev;
|
||||||
fev.importEnv(o["env"].get_obj());
|
fev.importEnv(o["env"].get_obj());
|
||||||
fev.importState(o["pre"].get_obj());
|
fev.importState(o["pre"].get_obj());
|
||||||
|
|
||||||
@ -419,7 +420,7 @@ void doTests(json_spirit::mValue& v, bool _fillin)
|
|||||||
BOOST_REQUIRE(o.count("out") > 0);
|
BOOST_REQUIRE(o.count("out") > 0);
|
||||||
BOOST_REQUIRE(o.count("gas") > 0);
|
BOOST_REQUIRE(o.count("gas") > 0);
|
||||||
|
|
||||||
eth::test::FakeExtVM test;
|
dev::test::FakeExtVM test;
|
||||||
test.importState(o["post"].get_obj());
|
test.importState(o["post"].get_obj());
|
||||||
test.importCallCreates(o["callcreates"].get_array());
|
test.importCallCreates(o["callcreates"].get_array());
|
||||||
int i = 0;
|
int i = 0;
|
||||||
@ -481,7 +482,7 @@ BOOST_AUTO_TEST_CASE(vm_tests)
|
|||||||
string s = asString(contents("../../../cpp-ethereum/test/vmtests.json"));
|
string s = asString(contents("../../../cpp-ethereum/test/vmtests.json"));
|
||||||
BOOST_REQUIRE_MESSAGE(s.length() > 0, "Contents of 'vmtests.json' is empty.");
|
BOOST_REQUIRE_MESSAGE(s.length() > 0, "Contents of 'vmtests.json' is empty.");
|
||||||
json_spirit::read_string(s, v);
|
json_spirit::read_string(s, v);
|
||||||
eth::test::doTests(v, true);
|
dev::test::doTests(v, true);
|
||||||
writeFile("../../../tests/vmtests.json", asBytes(json_spirit::write_string(v, true)));
|
writeFile("../../../tests/vmtests.json", asBytes(json_spirit::write_string(v, true)));
|
||||||
}
|
}
|
||||||
/* catch (std::exception const& e)
|
/* catch (std::exception const& e)
|
||||||
@ -496,7 +497,7 @@ BOOST_AUTO_TEST_CASE(vm_tests)
|
|||||||
string s = asString(contents("../../../tests/vmtests.json"));
|
string s = asString(contents("../../../tests/vmtests.json"));
|
||||||
BOOST_REQUIRE_MESSAGE(s.length() > 0, "Contents of 'vmtests.json' is empty. Have you cloned the 'tests' repo branch develop?");
|
BOOST_REQUIRE_MESSAGE(s.length() > 0, "Contents of 'vmtests.json' is empty. Have you cloned the 'tests' repo branch develop?");
|
||||||
json_spirit::read_string(s, v);
|
json_spirit::read_string(s, v);
|
||||||
eth::test::doTests(v, false);
|
dev::test::doTests(v, false);
|
||||||
}
|
}
|
||||||
catch (std::exception const& e)
|
catch (std::exception const& e)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user