Skip to content
Snippets Groups Projects
Commit b5921b0d authored by Ming Rui Zhang's avatar Ming Rui Zhang Committed by Adrien Béraud
Browse files

peerdiscovery: error correction for tester, distinguish creation error(ip...

peerdiscovery: error correction for tester, distinguish creation error(ip version support) and listen/receive error
parent 8ee7883c
No related branches found
No related tags found
No related merge requests found
...@@ -645,7 +645,7 @@ DhtRunner::startNetwork(const SockAddr sin4, const SockAddr sin6) ...@@ -645,7 +645,7 @@ DhtRunner::startNetwork(const SockAddr sin4, const SockAddr sin6)
else else
continue; continue;
if (rc > 0 && rc != static_cast<int>(getNodeId().size() + 2)) { if (rc > 0) {
{ {
std::lock_guard<std::mutex> lck(sock_mtx); std::lock_guard<std::mutex> lck(sock_mtx);
if (rcv.size() >= RX_QUEUE_MAX_SIZE) { if (rcv.size() >= RX_QUEUE_MAX_SIZE) {
......
...@@ -31,10 +31,10 @@ void PeerDiscoveryTester::testTransmission_ipv4(){ ...@@ -31,10 +31,10 @@ void PeerDiscoveryTester::testTransmission_ipv4(){
dht::InfoHash data_n = dht::InfoHash::get("applepin"); dht::InfoHash data_n = dht::InfoHash::get("applepin");
int port = 2222; int port = 2222;
in_port_t port_n = 50000; in_port_t port_n = 50000;
try{
dht::PeerDiscovery test_n(AF_INET, port); dht::PeerDiscovery test_n(AF_INET, port);
dht::PeerDiscovery test_s(AF_INET, port); dht::PeerDiscovery test_s(AF_INET, port);
try{
test_s.startDiscovery([&](const dht::InfoHash& node, const dht::SockAddr& addr){ test_s.startDiscovery([&](const dht::InfoHash& node, const dht::SockAddr& addr){
CPPUNIT_ASSERT_EQUAL(data_n, node); CPPUNIT_ASSERT_EQUAL(data_n, node);
CPPUNIT_ASSERT_EQUAL(port_n, addr.getPort()); CPPUNIT_ASSERT_EQUAL(port_n, addr.getPort());
...@@ -47,6 +47,13 @@ void PeerDiscoveryTester::testTransmission_ipv4(){ ...@@ -47,6 +47,13 @@ void PeerDiscoveryTester::testTransmission_ipv4(){
test_s.stop(); test_s.stop();
test_n.join(); test_n.join();
test_s.join(); test_s.join();
} catch(std::exception &exception){
perror(exception.what());
CPPUNIT_ASSERT(false);
}
} catch(std::exception &exception){
perror(exception.what());
}
} }
void PeerDiscoveryTester::testTransmission_ipv6(){ void PeerDiscoveryTester::testTransmission_ipv6(){
...@@ -55,10 +62,11 @@ void PeerDiscoveryTester::testTransmission_ipv6(){ ...@@ -55,10 +62,11 @@ void PeerDiscoveryTester::testTransmission_ipv6(){
dht::InfoHash data_n = dht::InfoHash::get("applepin"); dht::InfoHash data_n = dht::InfoHash::get("applepin");
int port = 3333; int port = 3333;
in_port_t port_n = 50001; in_port_t port_n = 50001;
try{
dht::PeerDiscovery test_n(AF_INET6,port); dht::PeerDiscovery test_n(AF_INET6,port);
dht::PeerDiscovery test_s(AF_INET6,port); dht::PeerDiscovery test_s(AF_INET6,port);
try{
test_s.startDiscovery([&](const dht::InfoHash& node, const dht::SockAddr& addr){ test_s.startDiscovery([&](const dht::InfoHash& node, const dht::SockAddr& addr){
CPPUNIT_ASSERT_EQUAL(data_n, node); CPPUNIT_ASSERT_EQUAL(data_n, node);
CPPUNIT_ASSERT_EQUAL(port_n, addr.getPort()); CPPUNIT_ASSERT_EQUAL(port_n, addr.getPort());
...@@ -71,6 +79,13 @@ void PeerDiscoveryTester::testTransmission_ipv6(){ ...@@ -71,6 +79,13 @@ void PeerDiscoveryTester::testTransmission_ipv6(){
test_s.stop(); test_s.stop();
test_n.join(); test_n.join();
test_s.join(); test_s.join();
} catch(std::exception &exception){
perror(exception.what());
CPPUNIT_ASSERT(false);
}
} catch(std::exception &exception){
perror(exception.what());
}
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment