From a4406ec5a70b9e0f0eb8243c432e4bc0a89c5845 Mon Sep 17 00:00:00 2001 From: Bartosz Date: Wed, 23 Nov 2022 16:16:54 +0100 Subject: [PATCH] [MOS-783] Fixed tests and simulator for Harmony Fixed tests and simulator for Harmony after implementation of new filesystem structure. --- CMakeLists.txt | 19 +++++++++++++++++- .../src/syscalls_posix_dirent.cpp | 2 +- cmake/modules/Assets.cmake | 1 + .../service-bluetooth/SettingsHolder.hpp | 2 +- module-utils/i18n/tests/test_i18n.cpp | 16 +++++++-------- module-vfs/paths/filesystem_paths.cpp | 20 +++++++++---------- products/BellHybrid/CMakeLists.txt | 1 - 7 files changed, 39 insertions(+), 22 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f5172dca6cd594df6846b32ec956c914a08c22f6..cdcadcbf0a88bf9f939e864ef4dd5566a55a0348 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -50,7 +50,7 @@ endif() if (${ENABLE_TESTS}) enable_testing() - add_custom_target(check ${CMAKE_CTEST_COMMAND} -V) + add_custom_target(check ${CMAKE_CTEST_COMMAND} -V DEPENDS create_test_product_databases create_test_databases_common) add_subdirectory(test) include(PureCoverage) endif () @@ -208,6 +208,23 @@ add_scripts_target( DEST_DIR ${CMAKE_BINARY_DIR}/sysroot/system_a/scripts ) +# Create and initialize common databases for tests +add_databases_target( + TARGET create_test_databases_common + SOURCE_DIR ${CMAKE_SOURCE_DIR}/module-db/databases/scripts + DEST_DIR ${CMAKE_BINARY_DIR}/test-sysroot/system_a/db + DEVEL ${WITH_DEVELOPMENT_FEATURES} +) + +# Create and initialize product-specific databases for tests +add_databases_target( + TARGET create_test_product_databases + SOURCE_DIR ${CMAKE_SOURCE_DIR}/products/${PRODUCT}/services/db/databases/scripts + DEST_DIR ${CMAKE_BINARY_DIR}/test-sysroot/system_a/db + DEVEL ${WITH_DEVELOPMENT_FEATURES} + DEPENDS create_databases_common +) + add_library(version-header INTERFACE) target_include_directories(version-header INTERFACE $) add_dependencies(version-header version) diff --git a/board/linux/libiosyscalls/src/syscalls_posix_dirent.cpp b/board/linux/libiosyscalls/src/syscalls_posix_dirent.cpp index 521ced367d76ee2da9777feba02069baab2c74ae..cd70007620604cc9b845b304c3205591069b1a57 100644 --- a/board/linux/libiosyscalls/src/syscalls_posix_dirent.cpp +++ b/board/linux/libiosyscalls/src/syscalls_posix_dirent.cpp @@ -111,7 +111,7 @@ extern "C" int _iosys__openat_2(int fd, const char *dirname, int flags) { - int ret; + int ret = 0; if (!dirname) { TRACE_SYSCALLN("(%p) invalid argument", dirname); errno = EINVAL; diff --git a/cmake/modules/Assets.cmake b/cmake/modules/Assets.cmake index 4be3884b0593dfc08965d8b0e508f1d3c8973749..f66aa2b4135018e22e021f4e77610af4daf5521d 100644 --- a/cmake/modules/Assets.cmake +++ b/cmake/modules/Assets.cmake @@ -28,6 +28,7 @@ function(add_assets_target) ${_ASSETS_SYSTEM_DEST_DIR} # Create 'golden copy' of DBs + COMMAND mkdir -p ${_ASSETS_SYSTEM_DEST_DIR}/db/factory COMMAND rsync -qlptgoDu ${_ASSETS_SYSTEM_DEST_DIR}/db/* ${_ASSETS_SYSTEM_DEST_DIR}/db/factory diff --git a/module-services/service-bluetooth/service-bluetooth/SettingsHolder.hpp b/module-services/service-bluetooth/service-bluetooth/SettingsHolder.hpp index 8e134473d8b54c114df43bdd9ea11cda6f5fd523..901cc5e3b61510707f616112c37569fe93b7c62c 100644 --- a/module-services/service-bluetooth/service-bluetooth/SettingsHolder.hpp +++ b/module-services/service-bluetooth/service-bluetooth/SettingsHolder.hpp @@ -45,7 +45,7 @@ namespace bluetooth { auto operator()(const std::string &input) const -> int { - int value; + int value = 0; utils::toNumeric(input, value); return value; } diff --git a/module-utils/i18n/tests/test_i18n.cpp b/module-utils/i18n/tests/test_i18n.cpp index 9cbc4ad719639c6e5d80e6cc7dac8c240e50bc45..341d081c5965b95d7f7c21891582ee854152daed 100644 --- a/module-utils/i18n/tests/test_i18n.cpp +++ b/module-utils/i18n/tests/test_i18n.cpp @@ -12,7 +12,7 @@ using namespace std; TEST_CASE("Test set display language - empty display language string") { - utils::resetAssetsPath(purefs::dir::getDataDirPath()); + utils::resetAssetsPath(purefs::dir::getSystemDataDirPath()); utils::resetDisplayLanguages(); REQUIRE(utils::getDisplayLanguage().empty()); @@ -23,7 +23,7 @@ TEST_CASE("Test set display language - empty display language string") TEST_CASE("Test set display language - invalid display language string") { - utils::resetAssetsPath(purefs::dir::getDataDirPath()); + utils::resetAssetsPath(purefs::dir::getSystemDataDirPath()); utils::resetDisplayLanguages(); REQUIRE(utils::getDisplayLanguage().empty()); @@ -34,7 +34,7 @@ TEST_CASE("Test set display language - invalid display language string") TEST_CASE("Test set display language - double invalid display language string") { - utils::resetAssetsPath(purefs::dir::getDataDirPath()); + utils::resetAssetsPath(purefs::dir::getSystemDataDirPath()); utils::resetDisplayLanguages(); REQUIRE(utils::getDisplayLanguage().empty()); @@ -51,7 +51,7 @@ TEST_CASE("Test set display language - set display language with valid string") { static constexpr auto languageToChange = "Polski"; - utils::resetAssetsPath(purefs::dir::getDataDirPath()); + utils::resetAssetsPath(purefs::dir::getSystemDataDirPath()); utils::resetDisplayLanguages(); REQUIRE(utils::getDisplayLanguage().empty()); @@ -64,7 +64,7 @@ TEST_CASE("Test set display language - set display language with valid string an { static constexpr auto languageToChange = "Polski"; - utils::resetAssetsPath(purefs::dir::getDataDirPath()); + utils::resetAssetsPath(purefs::dir::getSystemDataDirPath()); utils::resetDisplayLanguages(); REQUIRE(utils::getDisplayLanguage().empty()); @@ -79,7 +79,7 @@ TEST_CASE("Test set display language - set display language with valid string an TEST_CASE("Test get string method - no display language set") { - utils::resetAssetsPath(purefs::dir::getDataDirPath()); + utils::resetAssetsPath(purefs::dir::getSystemDataDirPath()); utils::resetDisplayLanguages(); REQUIRE(utils::getDisplayLanguage().empty()); @@ -89,7 +89,7 @@ TEST_CASE("Test get string method - no display language set") TEST_CASE("Test get string method - invalid display language set") { - utils::resetAssetsPath(purefs::dir::getDataDirPath()); + utils::resetAssetsPath(purefs::dir::getSystemDataDirPath()); utils::resetDisplayLanguages(); REQUIRE(utils::getDisplayLanguage().empty()); @@ -105,7 +105,7 @@ TEST_CASE("Test get string method - valid display language set") { static constexpr auto languageToChange = "Polski"; - utils::resetAssetsPath(purefs::dir::getDataDirPath()); + utils::resetAssetsPath(purefs::dir::getSystemDataDirPath()); utils::resetDisplayLanguages(); REQUIRE(utils::getDisplayLanguage().empty()); diff --git a/module-vfs/paths/filesystem_paths.cpp b/module-vfs/paths/filesystem_paths.cpp index 5071034ccb3709a7a7abc9d31bc8177ee02a5389..be1e555f83fdbf8d5412a7fe9bf3b5af3d4c70b2 100644 --- a/module-vfs/paths/filesystem_paths.cpp +++ b/module-vfs/paths/filesystem_paths.cpp @@ -6,20 +6,20 @@ namespace { - constexpr inline auto PATH_SYSTEM = "/system"; - constexpr inline auto PATH_USER = "/user"; - constexpr inline auto PATH_CONF = "/mfgconf"; - constexpr inline auto PATH_DB = "db"; - constexpr inline auto PATH_UPDATE = "update"; - constexpr inline auto PATH_SYNC = "sync"; - constexpr inline auto PATH_LOGS = "log"; - constexpr inline auto PATH_CRASH_DUMPS = "crash_dumps"; + constexpr inline auto PATH_SYSTEM = "/system"; + constexpr inline auto PATH_USER = "/user"; + constexpr inline auto PATH_CONF = "/mfgconf"; + constexpr inline auto PATH_DB = "db"; + constexpr inline auto PATH_UPDATE = "update"; + constexpr inline auto PATH_SYNC = "sync"; + constexpr inline auto PATH_LOGS = "log"; + constexpr inline auto PATH_CRASH_DUMPS = "crash_dumps"; constexpr inline auto PATH_USER_MEDIA = "media"; // TODO this won't work with our current non-hierarchical MTP implementation constexpr inline auto PATH_TMP = "tmp"; constexpr inline auto PATH_BACKUP = "backup"; - constexpr inline auto PATH_ASSETS = "assets"; - constexpr inline auto PATH_DATA = "data"; + constexpr inline auto PATH_ASSETS = "assets"; + constexpr inline auto PATH_DATA = "data"; } // namespace namespace purefs diff --git a/products/BellHybrid/CMakeLists.txt b/products/BellHybrid/CMakeLists.txt index 70166f0d83cfdb4bde89e95514235040ed5b3a87..28e1d6a2c4708daddd691f8236ad90059e4e9c21 100644 --- a/products/BellHybrid/CMakeLists.txt +++ b/products/BellHybrid/CMakeLists.txt @@ -95,7 +95,6 @@ if (${PROJECT_TARGET} STREQUAL "TARGET_RT1051") add_image( PRODUCT BellHybrid SYSROOT sysroot - LUTS Luts.bin DEPENDS install_scripts create_product_databases