diff options
author | chriseth <c@ethdev.com> | 2015-04-17 22:24:23 +0800 |
---|---|---|
committer | chriseth <c@ethdev.com> | 2015-04-17 22:24:23 +0800 |
commit | 6b08b99b5ef319837f9293cca6fd74803fe4688d (patch) | |
tree | fe3e39ec2f14e1c52137c9734da36766ba57ba53 /peer.cpp | |
parent | 6753e0a8e6796e99ee826c28c7bcbde55348b07d (diff) | |
parent | 7571971ca05fd12e3603531044e094ffc0000fb2 (diff) | |
download | dexon-solidity-6b08b99b5ef319837f9293cca6fd74803fe4688d.tar dexon-solidity-6b08b99b5ef319837f9293cca6fd74803fe4688d.tar.gz dexon-solidity-6b08b99b5ef319837f9293cca6fd74803fe4688d.tar.bz2 dexon-solidity-6b08b99b5ef319837f9293cca6fd74803fe4688d.tar.lz dexon-solidity-6b08b99b5ef319837f9293cca6fd74803fe4688d.tar.xz dexon-solidity-6b08b99b5ef319837f9293cca6fd74803fe4688d.tar.zst dexon-solidity-6b08b99b5ef319837f9293cca6fd74803fe4688d.zip |
Merge remote-tracking branch 'ethereum/develop' into sol_overloadingFunctions
Diffstat (limited to 'peer.cpp')
-rw-r--r-- | peer.cpp | 47 |
1 files changed, 41 insertions, 6 deletions
@@ -28,7 +28,13 @@ using namespace std; using namespace dev; using namespace dev::p2p; -BOOST_AUTO_TEST_SUITE(p2p) +struct P2PFixture +{ + P2PFixture() { dev::p2p::NodeIPEndpoint::test_allowLocal = true; } + ~P2PFixture() { dev::p2p::NodeIPEndpoint::test_allowLocal = false; } +}; + +BOOST_FIXTURE_TEST_SUITE(p2p, P2PFixture) BOOST_AUTO_TEST_CASE(host) { @@ -45,7 +51,7 @@ BOOST_AUTO_TEST_CASE(host) auto node2 = host2.id(); host2.start(); - host1.addNode(node2, bi::address::from_string("127.0.0.1"), host2prefs.listenPort, host2prefs.listenPort); + host1.addNode(node2, NodeIPEndpoint(bi::address::from_string("127.0.0.1"), host2prefs.listenPort, host2prefs.listenPort)); this_thread::sleep_for(chrono::seconds(3)); @@ -82,11 +88,11 @@ BOOST_AUTO_TEST_CASE(save_nodes) Host& host = *hosts.front(); for (auto const& h: hosts) - host.addNode(h->id(), bi::address::from_string("127.0.0.1"), h->listenPort(), h->listenPort()); + host.addNode(h->id(), NodeIPEndpoint(bi::address::from_string("127.0.0.1"), h->listenPort(), h->listenPort())); Host& host2 = *hosts.back(); for (auto const& h: hosts) - host2.addNode(h->id(), bi::address::from_string("127.0.0.1"), h->listenPort(), h->listenPort()); + host2.addNode(h->id(), NodeIPEndpoint(bi::address::from_string("127.0.0.1"), h->listenPort(), h->listenPort())); this_thread::sleep_for(chrono::milliseconds(2000)); bytes firstHostNetwork(host.saveNetwork()); @@ -101,7 +107,36 @@ BOOST_AUTO_TEST_CASE(save_nodes) BOOST_REQUIRE(r.itemCount() == 3); BOOST_REQUIRE(r[0].toInt<unsigned>() == dev::p2p::c_protocolVersion); BOOST_REQUIRE_EQUAL(r[1].toBytes().size(), 32); // secret - BOOST_REQUIRE_EQUAL(r[2].itemCount(), 5); + BOOST_REQUIRE(r[2].itemCount() >= 5); + + for (auto i: r[2]) + { + BOOST_REQUIRE(i.itemCount() == 3 || i.itemCount() == 10); + BOOST_REQUIRE(i[0].itemCount() == 4 || i[0].itemCount() == 16); + } +} + +BOOST_AUTO_TEST_SUITE_END() + +BOOST_AUTO_TEST_SUITE(peerTypes) + +BOOST_AUTO_TEST_CASE(emptySharedPeer) +{ + shared_ptr<Peer> p; + BOOST_REQUIRE(!p); + + std::map<NodeId, std::shared_ptr<Peer>> peers; + p = peers[NodeId()]; + BOOST_REQUIRE(!p); + + p.reset(new Peer(UnspecifiedNode)); + BOOST_REQUIRE(!p->id); + BOOST_REQUIRE(!*p); + + p.reset(new Peer(Node(NodeId(EmptySHA3), UnspecifiedNodeIPEndpoint))); + BOOST_REQUIRE(!(!*p)); + BOOST_REQUIRE(*p); + BOOST_REQUIRE(p); } BOOST_AUTO_TEST_SUITE_END() @@ -131,7 +166,7 @@ int peerTest(int argc, char** argv) Host ph("Test", NetworkPreferences(listenPort)); if (!remoteHost.empty() && !remoteAlias) - ph.addNode(remoteAlias, bi::address::from_string(remoteHost), remotePort, remotePort); + ph.addNode(remoteAlias, NodeIPEndpoint(bi::address::from_string(remoteHost), remotePort, remotePort)); this_thread::sleep_for(chrono::milliseconds(200)); |