summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndriy Byzhynar (GitHub) <AByzhynar@luxoft.com>2016-07-19 16:29:43 +0300
committerGitHub <noreply@github.com>2016-07-19 16:29:43 +0300
commit808097a8cf307919a4970d41c2842e822c0cb422 (patch)
treedaae8d44ff44505cc0ae475e42420ee8f3721f2b
parent0625f49ef911800bc5f53792c7a8a6401ab71ca2 (diff)
parent447ef7844d38f2b1c39951c4abfe43fc43e26cae (diff)
downloadsdl_core-808097a8cf307919a4970d41c2842e822c0cb422.tar.gz
Merge pull request #698 from VProdanov/fix/Core_dump_on_app_registration_with_another_appName_and_AppID
Fix_core_dump_due_to_connection_been_created_twice
-rw-r--r--src/components/transport_manager/src/tcp/tcp_connection_factory.cc1
-rw-r--r--src/components/transport_manager/src/transport_adapter/threaded_socket_connection.cc2
-rw-r--r--src/components/transport_manager/test/CMakeLists.txt3
-rw-r--r--src/components/transport_manager/test/app_info_storage299
-rw-r--r--src/components/transport_manager/test/transport_manager_default_test.cc10
5 files changed, 108 insertions, 7 deletions
diff --git a/src/components/transport_manager/src/tcp/tcp_connection_factory.cc b/src/components/transport_manager/src/tcp/tcp_connection_factory.cc
index 22653e8343..5b1e9af6cb 100644
--- a/src/components/transport_manager/src/tcp/tcp_connection_factory.cc
+++ b/src/components/transport_manager/src/tcp/tcp_connection_factory.cc
@@ -57,7 +57,6 @@ TransportAdapter::Error TcpConnectionFactory::CreateConnection(
TcpServerOiginatedSocketConnection* connection(
new TcpServerOiginatedSocketConnection(
device_uid, app_handle, controller_));
- controller_->ConnectionCreated(connection, device_uid, app_handle);
if (connection->Start() == TransportAdapter::OK) {
LOG4CXX_DEBUG(logger_, "TCP connection initialised");
return TransportAdapter::OK;
diff --git a/src/components/transport_manager/src/transport_adapter/threaded_socket_connection.cc b/src/components/transport_manager/src/transport_adapter/threaded_socket_connection.cc
index 65afdf4fc0..5e9f3d941d 100644
--- a/src/components/transport_manager/src/transport_adapter/threaded_socket_connection.cc
+++ b/src/components/transport_manager/src/transport_adapter/threaded_socket_connection.cc
@@ -162,7 +162,7 @@ TransportAdapter::Error ThreadedSocketConnection::Disconnect() {
void ThreadedSocketConnection::threadMain() {
LOG4CXX_AUTO_TRACE(logger_);
- controller_->ConnectionCreated(this, device_uid_, app_handle_);
+ controller_->ConnectionCreated(this, device_handle(), application_handle());
ConnectError* connect_error = NULL;
if (!Establish(&connect_error)) {
LOG4CXX_ERROR(logger_, "Connection Establish failed");
diff --git a/src/components/transport_manager/test/CMakeLists.txt b/src/components/transport_manager/test/CMakeLists.txt
index 4b4c33c0a9..da20f1d43c 100644
--- a/src/components/transport_manager/test/CMakeLists.txt
+++ b/src/components/transport_manager/test/CMakeLists.txt
@@ -62,15 +62,16 @@ if (BUILD_BT_SUPPORT)
endif()
set(SOURCES
- ${TM_TEST_DIR}/transport_manager_default_test.cc
${TM_TEST_DIR}/transport_manager_impl_test.cc
${TM_TEST_DIR}/transport_adapter_test.cc
${TM_TEST_DIR}/transport_adapter_listener_test.cc
${TM_TEST_DIR}/tcp_transport_adapter_test.cc
${TM_TEST_DIR}/tcp_device_test.cc
${TM_TEST_DIR}/tcp_client_listener_test.cc
+ ${TM_TEST_DIR}/transport_manager_default_test.cc
)
create_test("transport_manager_test" "${SOURCES}" "${LIBRARIES}")
file(COPY smartDeviceLink_test.ini DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
+file(COPY app_info_storage2 DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
endif()
diff --git a/src/components/transport_manager/test/app_info_storage2 b/src/components/transport_manager/test/app_info_storage2
new file mode 100644
index 0000000000..794c8b90bc
--- /dev/null
+++ b/src/components/transport_manager/test/app_info_storage2
@@ -0,0 +1,99 @@
+{
+ "TransportManager" : {
+ "BluetoothAdapter" : null,
+ "TcpAdapter" : {
+ "devices" : [
+ {
+ "address" : "57.48.0.1",
+ "applications" : [
+ {
+ "port" : "12345"
+ }
+ ],
+ "name" : "unique_device_name0"
+ },
+ {
+ "address" : "57.48.0.2",
+ "applications" : [
+ {
+ "port" : "12345"
+ }
+ ],
+ "name" : "unique_device_name1"
+ },
+ {
+ "address" : "57.48.0.3",
+ "applications" : [
+ {
+ "port" : "12345"
+ }
+ ],
+ "name" : "unique_device_name2"
+ },
+ {
+ "address" : "57.48.0.4",
+ "applications" : [
+ {
+ "port" : "12345"
+ }
+ ],
+ "name" : "unique_device_name3"
+ },
+ {
+ "address" : "57.48.0.5",
+ "applications" : [
+ {
+ "port" : "12345"
+ }
+ ],
+ "name" : "unique_device_name4"
+ },
+ {
+ "address" : "57.48.0.6",
+ "applications" : [
+ {
+ "port" : "12345"
+ }
+ ],
+ "name" : "unique_device_name5"
+ },
+ {
+ "address" : "57.48.0.7",
+ "applications" : [
+ {
+ "port" : "12345"
+ }
+ ],
+ "name" : "unique_device_name6"
+ },
+ {
+ "address" : "57.48.0.8",
+ "applications" : [
+ {
+ "port" : "12345"
+ }
+ ],
+ "name" : "unique_device_name7"
+ },
+ {
+ "address" : "57.48.0.9",
+ "applications" : [
+ {
+ "port" : "12345"
+ }
+ ],
+ "name" : "unique_device_name8"
+ },
+ {
+ "address" : "57.48.0.10",
+ "applications" : [
+ {
+ "port" : "12345"
+ }
+ ],
+ "name" : "unique_device_name9"
+ }
+ ]
+ }
+ }
+}
diff --git a/src/components/transport_manager/test/transport_manager_default_test.cc b/src/components/transport_manager/test/transport_manager_default_test.cc
index 672e48e8ce..8207737d93 100644
--- a/src/components/transport_manager/test/transport_manager_default_test.cc
+++ b/src/components/transport_manager/test/transport_manager_default_test.cc
@@ -41,11 +41,12 @@ namespace components {
namespace transport_manager_test {
using ::testing::Return;
+
TEST(TestTransportManagerDefault, Init_LastStateNotUsed) {
MockTransportManagerSettings transport_manager_settings;
transport_manager::TransportManagerDefault transport_manager(
transport_manager_settings);
- resumption::LastState last_state("app_storage_folder", "app_info_storage");
+ resumption::LastState last_state("app_storage_folder", "app_info_storage2");
EXPECT_CALL(transport_manager_settings, use_last_state())
.WillRepeatedly(Return(false));
@@ -54,18 +55,19 @@ TEST(TestTransportManagerDefault, Init_LastStateNotUsed) {
transport_manager.Init(last_state);
}
-// TODO(VVeremjova) APPLINK-22021
-TEST(TestTransportManagerDefault, DISABLED_Init_LastStateUsed) {
+TEST(TestTransportManagerDefault, Init_LastStateUsed) {
MockTransportManagerSettings transport_manager_settings;
transport_manager::TransportManagerDefault transport_manager(
transport_manager_settings);
- resumption::LastState last_state("app_storage_folder", "app_info_storage");
+ resumption::LastState last_state("app_storage_folder", "app_info_storage2");
EXPECT_CALL(transport_manager_settings, use_last_state())
.WillRepeatedly(Return(true));
EXPECT_CALL(transport_manager_settings, transport_manager_tcp_adapter_port())
.WillRepeatedly(Return(1u));
+
transport_manager.Init(last_state);
+ transport_manager.Stop();
}
} // namespace transport_manager_test