diff options
author | Sergey Yershov <syershov@maps.me> | 2016-10-28 13:00:29 +0300 |
---|---|---|
committer | Sergey Yershov <syershov@maps.me> | 2016-10-28 13:00:29 +0300 |
commit | 971b3d39f69bd33f9d9010e2afb878933928c83e (patch) | |
tree | 8e7565c93f0d9dbe9a834e2ec8f8a9839bd09aa1 /tracking | |
parent | 9f0137188b8179f41175624d8191a5af0502155e (diff) |
Fix tracking and tests
Diffstat (limited to 'tracking')
-rw-r--r-- | tracking/connection.cpp | 9 | ||||
-rw-r--r-- | tracking/tracking_tests/reporter_test.cpp | 16 |
2 files changed, 24 insertions, 1 deletions
diff --git a/tracking/connection.cpp b/tracking/connection.cpp index 26cbfadba3..c25e3de66e 100644 --- a/tracking/connection.cpp +++ b/tracking/connection.cpp @@ -16,7 +16,8 @@ Connection::Connection(unique_ptr<platform::Socket> socket, string const & host, bool isHistorical) : m_socket(move(socket)), m_host(host), m_port(port), m_isHistorical(isHistorical) { - ASSERT(m_socket.get(), ()); + if (!m_socket) + return; m_socket->SetTimeout(kSocketTimeoutMs); } @@ -24,6 +25,9 @@ Connection::Connection(unique_ptr<platform::Socket> socket, string const & host, // TODO: implement handshake bool Connection::Reconnect() { + if (!m_socket) + return false; + m_socket->Close(); if (!m_socket->Open(m_host, m_port)) @@ -45,6 +49,9 @@ bool Connection::Reconnect() // TODO: implement historical bool Connection::Send(boost::circular_buffer<DataPoint> const & points) { + if (!m_socket) + return false; + auto packet = Protocol::CreateDataPacket(points); return m_socket->Write(packet.data(), static_cast<uint32_t>(packet.size())); } diff --git a/tracking/tracking_tests/reporter_test.cpp b/tracking/tracking_tests/reporter_test.cpp index bdd47a60a5..f636a72a97 100644 --- a/tracking/tracking_tests/reporter_test.cpp +++ b/tracking/tracking_tests/reporter_test.cpp @@ -70,6 +70,22 @@ void TransferLocation(Reporter & reporter, TestSocket & testSocket, double times } } +UNIT_TEST(Reporter_Smoke) +{ + { + unique_ptr<platform::Socket> socket; + Reporter reporter(move(socket), "localhost", 0, milliseconds(10) /* pushDelay */); + } + { + auto socket = make_unique<TestSocket>(); + Reporter reporter(move(socket), "localhost", 0, milliseconds(10) /* pushDelay */); + } + { + auto socket = platform::CreateSocket(); + Reporter reporter(move(socket), "localhost", 0, milliseconds(10) /* pushDelay */); + } +} + UNIT_TEST(Reporter_TransferLocations) { auto socket = make_unique<TestSocket>(); |