summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Oleynik <aoleynik@luxoft.com>2016-06-05 12:59:02 +0300
committerAndrey Oleynik <aoleynik@luxoft.com>2016-06-06 15:16:07 +0300
commitc3e1d109172ca19448507e262d1d08c45f55b54f (patch)
treee8f641d0b85b00b0b40df00de182ef386d269384
parentb1d347f83c4f9c372ba35ae432e0254eff67bda9 (diff)
downloadsdl_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.txt2
-rw-r--r--src/components/application_manager/test/state_controller/state_controller_test.cc35
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,