diff options
author | Andrey Oleynik <aoleynik@luxoft.com> | 2016-06-05 12:59:02 +0300 |
---|---|---|
committer | Andrey Oleynik <aoleynik@luxoft.com> | 2016-06-06 15:16:07 +0300 |
commit | c3e1d109172ca19448507e262d1d08c45f55b54f (patch) | |
tree | e8f641d0b85b00b0b40df00de182ef386d269384 | |
parent | b1d347f83c4f9c372ba35ae432e0254eff67bda9 (diff) | |
download | sdl_core-c3e1d109172ca19448507e262d1d08c45f55b54f.tar.gz |
Fixes StateController tests for QT build
Enables StateController tests build
Fixes build of StateController tests
Relates-to: APPLINK-24736
Related-issues: APPLINK-22713, APPLINK-22716
-rw-r--r-- | src/components/application_manager/test/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/components/application_manager/test/state_controller/state_controller_test.cc | 35 |
2 files changed, 26 insertions, 11 deletions
diff --git a/src/components/application_manager/test/CMakeLists.txt b/src/components/application_manager/test/CMakeLists.txt index b0e5ee4b4e..bce8012e24 100644 --- a/src/components/application_manager/test/CMakeLists.txt +++ b/src/components/application_manager/test/CMakeLists.txt @@ -195,4 +195,4 @@ file(COPY smartDeviceLink_test.ini DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/resumption) create_test("data_resumption_test" "${ResumptionData_SOURCES}" "${testLibraries}") - # add_subdirectory(state_controller) + add_subdirectory(state_controller) diff --git a/src/components/application_manager/test/state_controller/state_controller_test.cc b/src/components/application_manager/test/state_controller/state_controller_test.cc index 23bbe63386..0de47f3039 100644 --- a/src/components/application_manager/test/state_controller/state_controller_test.cc +++ b/src/components/application_manager/test/state_controller/state_controller_test.cc @@ -132,8 +132,16 @@ class StateControllerImplTest : public ::testing::Test { utils::SharedPtr<usage_statistics::StatisticsManager>( utils::MakeShared< application_manager_test::MockStatisticsManager>())) - , applications_(application_set_, applications_lock_) {} - NiceMock<application_manager_test::MockApplicationManager> app_manager_mock_; + , applications_(application_set_, applications_lock_) + , simple_app_id_(1721) + , navi_app_id_(1762) + , media_app_id_(1801) + , vc_app_id_(1825) + , media_navi_app_id_(1855) + , media_vc_app_id_(1881) + , navi_vc_app_id_(1894) + , media_navi_vc_app_id_(1922) {} + NiceMock<policy_test::MockPolicyHandlerInterface> policy_interface_; NiceMock<connection_handler_test::MockConnectionHandler> mock_connection_handler_; @@ -149,35 +157,35 @@ class StateControllerImplTest : public ::testing::Test { am::ApplicationSharedPtr simple_app_; NiceMock<application_manager_test::MockApplication>* simple_app_ptr_; - uint32_t simple_app_id_ = 1721; + uint32_t simple_app_id_; am::ApplicationSharedPtr navi_app_; NiceMock<application_manager_test::MockApplication>* navi_app_ptr_; - uint32_t navi_app_id_ = 1762; + uint32_t navi_app_id_; am::ApplicationSharedPtr media_app_; NiceMock<application_manager_test::MockApplication>* media_app_ptr_; - uint32_t media_app_id_ = 1801; + uint32_t media_app_id_; am::ApplicationSharedPtr vc_app_; NiceMock<application_manager_test::MockApplication>* vc_app_ptr_; - uint32_t vc_app_id_ = 1825; + uint32_t vc_app_id_; am::ApplicationSharedPtr media_navi_app_; NiceMock<application_manager_test::MockApplication>* media_navi_app_ptr_; - uint32_t media_navi_app_id_ = 1855; + uint32_t media_navi_app_id_; am::ApplicationSharedPtr media_vc_app_; NiceMock<application_manager_test::MockApplication>* media_vc_app_ptr_; - uint32_t media_vc_app_id_ = 1881; + uint32_t media_vc_app_id_; am::ApplicationSharedPtr navi_vc_app_; NiceMock<application_manager_test::MockApplication>* navi_vc_app_ptr_; - uint32_t navi_vc_app_id_ = 1894; + uint32_t navi_vc_app_id_; am::ApplicationSharedPtr media_navi_vc_app_; NiceMock<application_manager_test::MockApplication>* media_navi_vc_app_ptr_; - uint32_t media_navi_vc_app_id_ = 1922; + uint32_t media_navi_vc_app_id_; std::vector<am::HmiStatePtr> valid_states_for_audio_app_; std::vector<am::HmiStatePtr> valid_states_for_not_audio_app_; @@ -192,6 +200,13 @@ class StateControllerImplTest : public ::testing::Test { transport_manager_test::MockTransportManager mock_transport_manager; connection_handler::ConnectionHandlerImpl* conn_handler; + // In case of QT there is an exception thrown in each test and the root + // cause is seems to be the order of destruction of components, which + // uses DataAccessor. So if AM is destroyed as very last - everything is + // okay, otherwise DataAccessor is being deleted and that invalidates all + // its other instances. + NiceMock<application_manager_test::MockApplicationManager> app_manager_mock_; + am::HmiStatePtr createHmiState( mobile_apis::HMILevel::eType hmi_level, mobile_apis::AudioStreamingState::eType aidio_ss, |