From 1cdab49c2d2a267f43d0ca5a4db2e0efe424cb3a Mon Sep 17 00:00:00 2001 From: "j-h.choi" Date: Tue, 14 Jun 2022 16:13:45 +0900 Subject: [PATCH 1/1] Add the option to check Internet privilege in dotnettool for the FOTA Change-Id: I74604e5145519db06f8a0b6f8bd57ba69707c190 --- NativeLauncher/CMakeLists.txt | 14 ++- NativeLauncher/inc/privilege_common.h | 35 +++++++ .../installer-plugin/dotnet_apptype_plugin.cc | 25 +---- NativeLauncher/tool/dotnettool.cc | 7 ++ NativeLauncher/tool/privilege_common.cc | 101 +++++++++++++++++++++ packaging/715.dotnet_regen_app_ni.patch.sh | 1 + packaging/dotnet-launcher.spec | 3 + .../Launcher_TC_PLUGIN_09.sln | 31 +++++++ .../Launcher_TC_PLUGIN_09.Tizen.cs | 22 +++++ .../Launcher_TC_PLUGIN_09.Tizen.csproj | 27 ++++++ .../shared/res/Launcher_TC_PLUGIN_09.Tizen.png | Bin 0 -> 10097 bytes .../Launcher_TC_PLUGIN_09.Tizen/tizen-manifest.xml | 16 ++++ .../Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09.cs | 45 +++++++++ .../Launcher_TC_PLUGIN_09.csproj | 11 +++ .../Launcher_TC_PLUGIN_10.sln | 31 +++++++ .../Launcher_TC_PLUGIN_10.Tizen.cs | 22 +++++ .../Launcher_TC_PLUGIN_10.Tizen.csproj | 27 ++++++ .../shared/res/Launcher_TC_PLUGIN_10.Tizen.png | Bin 0 -> 10097 bytes .../Launcher_TC_PLUGIN_10.Tizen/tizen-manifest.xml | 16 ++++ .../Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10.cs | 45 +++++++++ .../Launcher_TC_PLUGIN_10.csproj | 11 +++ .../Launcher_TC_TOOL_10/Launcher_TC_TOOL_10.sln | 31 +++++++ .../Launcher_TC_TOOL_10.Tizen.cs | 22 +++++ .../Launcher_TC_TOOL_10.Tizen.csproj | 27 ++++++ .../shared/res/Launcher_TC_TOOL_10.Tizen.png | Bin 0 -> 10097 bytes .../Launcher_TC_TOOL_10.Tizen/tizen-manifest.xml | 14 +++ .../Launcher_TC_TOOL_10/Launcher_TC_TOOL_10.cs | 45 +++++++++ .../Launcher_TC_TOOL_10/Launcher_TC_TOOL_10.csproj | 11 +++ tests/TCs/2_PLUGIN/PLUGIN.py | 54 ++++++++++- tests/TCs/2_PLUGIN/README.md | 10 ++ tests/TCs/6_TOOL/README.md | 5 + tests/TCs/6_TOOL/TOOL.py | 39 +++++++- 32 files changed, 715 insertions(+), 33 deletions(-) create mode 100644 NativeLauncher/inc/privilege_common.h create mode 100644 NativeLauncher/tool/privilege_common.cc create mode 100644 tests/Apps/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09.sln create mode 100644 tests/Apps/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09.Tizen/Launcher_TC_PLUGIN_09.Tizen.cs create mode 100644 tests/Apps/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09.Tizen/Launcher_TC_PLUGIN_09.Tizen.csproj create mode 100644 tests/Apps/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09.Tizen/shared/res/Launcher_TC_PLUGIN_09.Tizen.png create mode 100644 tests/Apps/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09.Tizen/tizen-manifest.xml create mode 100644 tests/Apps/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09.cs create mode 100644 tests/Apps/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09.csproj create mode 100644 tests/Apps/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10.sln create mode 100644 tests/Apps/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10.Tizen/Launcher_TC_PLUGIN_10.Tizen.cs create mode 100644 tests/Apps/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10.Tizen/Launcher_TC_PLUGIN_10.Tizen.csproj create mode 100644 tests/Apps/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10.Tizen/shared/res/Launcher_TC_PLUGIN_10.Tizen.png create mode 100644 tests/Apps/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10.Tizen/tizen-manifest.xml create mode 100644 tests/Apps/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10.cs create mode 100644 tests/Apps/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10.csproj create mode 100644 tests/Apps/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10.sln create mode 100644 tests/Apps/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10.Tizen/Launcher_TC_TOOL_10.Tizen.cs create mode 100644 tests/Apps/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10.Tizen/Launcher_TC_TOOL_10.Tizen.csproj create mode 100644 tests/Apps/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10.Tizen/shared/res/Launcher_TC_TOOL_10.Tizen.png create mode 100644 tests/Apps/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10.Tizen/tizen-manifest.xml create mode 100644 tests/Apps/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10.cs create mode 100644 tests/Apps/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10.csproj diff --git a/NativeLauncher/CMakeLists.txt b/NativeLauncher/CMakeLists.txt index 19727fb..28ee598 100644 --- a/NativeLauncher/CMakeLists.txt +++ b/NativeLauncher/CMakeLists.txt @@ -206,6 +206,14 @@ ADD_LIBRARY(${PROFILE_COMMON} SHARED ${${PROFILE_COMMON}_SOURCE_FILES}) SET_TARGET_PROPERTIES(${PROFILE_COMMON} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS_LIB}) TARGET_LINK_LIBRARIES(${PROFILE_COMMON} ${${PROJECT_NAME}_LDFLAGS} ${DOTNET_LAUNCHER_UTIL}) +SET(PRIVILEGE_COMMON "privilege_common") +SET(${PRIVILEGE_COMMON}_SOURCE_FILES + tool/privilege_common.cc +) +ADD_LIBRARY(${PRIVILEGE_COMMON} SHARED ${${PRIVILEGE_COMMON}_SOURCE_FILES}) +SET_TARGET_PROPERTIES(${PRIVILEGE_COMMON} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS_LIB}) +TARGET_LINK_LIBRARIES(${PRIVILEGE_COMMON} ${${PROJECT_NAME}_LDFLAGS} ${DOTNET_LAUNCHER_UTIL}) + SET(MULTI_TARGET_RESOLVER "multi_target_resolver") SET(${MULTI_TARGET_RESOLVER}_SOURCE_FILES tool/multi_target_resolver.cc @@ -228,7 +236,7 @@ SET(${DOTNETTOOL}_SOURCE_FILES ) ADD_EXECUTABLE(${DOTNETTOOL} ${${DOTNETTOOL}_SOURCE_FILES}) SET_TARGET_PROPERTIES(${DOTNETTOOL} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS_EXE}) -TARGET_LINK_LIBRARIES(${DOTNETTOOL} ${${PROJECT_NAME}_LDFLAGS} "-pie" ${DOTNET_LAUNCHER_UTIL} ${NI_COMMON} ${TAC_COMMON} ${PROFILE_COMMON} ${MULTI_TARGET_RESOLVER}) +TARGET_LINK_LIBRARIES(${DOTNETTOOL} ${${PROJECT_NAME}_LDFLAGS} "-pie" ${DOTNET_LAUNCHER_UTIL} ${NI_COMMON} ${TAC_COMMON} ${PROFILE_COMMON} ${PRIVILEGE_COMMON} ${MULTI_TARGET_RESOLVER}) SET(PREFER_DOTNET_AOT_PLUGIN "prefer_dotnet_aot_plugin") SET(${PREFER_DOTNET_AOT_PLUGIN}_SOURCE_FILES @@ -252,7 +260,7 @@ SET(${DOTNET_APPTYPE_PLUGIN}_SOURCE_FILES ) ADD_LIBRARY(${DOTNET_APPTYPE_PLUGIN} SHARED ${${DOTNET_APPTYPE_PLUGIN}_SOURCE_FILES}) SET_TARGET_PROPERTIES(${DOTNET_APPTYPE_PLUGIN} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS_LIB}) -TARGET_LINK_LIBRARIES(${DOTNET_APPTYPE_PLUGIN} ${${PROJECT_NAME}_LDFLAGS} ${DOTNET_LAUNCHER_UTIL} ${MULTI_TARGET_RESOLVER} ${NI_COMMON} ${PROFILE_COMMON}) +TARGET_LINK_LIBRARIES(${DOTNET_APPTYPE_PLUGIN} ${${PROJECT_NAME}_LDFLAGS} ${DOTNET_LAUNCHER_UTIL} ${MULTI_TARGET_RESOLVER} ${NI_COMMON} ${PROFILE_COMMON} ${PRIVILEGE_COMMON}) # Build for test plugin library (libdotnet-plugin.so) IF(DEFINED BUILD_DOTNET_PLUGIN) @@ -276,6 +284,7 @@ INSTALL(TARGETS ${DOTNET_HYDRA_LOADER} DESTINATION ${BINDIR}) INSTALL(TARGETS ${TAC_COMMON} DESTINATION ${LIBDIR}) INSTALL(TARGETS ${NI_COMMON} DESTINATION ${LIBDIR}) INSTALL(TARGETS ${PROFILE_COMMON} DESTINATION ${LIBDIR}) +INSTALL(TARGETS ${PRIVILEGE_COMMON} DESTINATION ${LIBDIR}) INSTALL(TARGETS ${MULTI_TARGET_RESOLVER} DESTINATION ${LIBDIR}) INSTALL(TARGETS ${TPATOOL} DESTINATION ${BINDIR}) INSTALL(TARGETS ${DOTNETTOOL} DESTINATION ${BINDIR}) @@ -293,6 +302,7 @@ INSTALL(FILES inc/dotnet_launcher_plugin.h DESTINATION ${INCLUDEDIR}) INSTALL(FILES inc/ni_common.h DESTINATION ${INCLUDEDIR}) INSTALL(FILES inc/tac_common.h DESTINATION ${INCLUDEDIR}) INSTALL(FILES inc/profile_common.h DESTINATION ${INCLUDEDIR}) +INSTALL(FILES inc/privilege_common.h DESTINATION ${INCLUDEDIR}) INSTALL(FILES ../dotnet-launcher.pc DESTINATION ${LIBDIR}/pkgconfig) INSTALL(FILES dotnet-launcher.info DESTINATION /usr/share/parser-plugins) IF(DEFINED BUILD_DOTNET_PLUGIN) diff --git a/NativeLauncher/inc/privilege_common.h b/NativeLauncher/inc/privilege_common.h new file mode 100644 index 0000000..1f4dc74 --- /dev/null +++ b/NativeLauncher/inc/privilege_common.h @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2022 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __PRIVILEGE_COMMON_H__ +#define __PRIVILEGE_COMMON_H__ + +#include +#include + +/** + * @brief check internet privilege and disable ipv6 + * @param[in] pkgId package id + * @param[in] rootPath root path + */ +void checkInternetPrivilegeAndDisableIPv6(const char* pkgId, const std::string& rootPath); + +/** + * @brief check all app privilege + */ +void checkAllAppPrivilege(); + +#endif /* __PRIVILEGE_COMMON_H__ */ diff --git a/NativeLauncher/installer-plugin/dotnet_apptype_plugin.cc b/NativeLauncher/installer-plugin/dotnet_apptype_plugin.cc index c5c9786..48e0ed3 100644 --- a/NativeLauncher/installer-plugin/dotnet_apptype_plugin.cc +++ b/NativeLauncher/installer-plugin/dotnet_apptype_plugin.cc @@ -19,11 +19,9 @@ #include "multi_target_resolver.h" #include "ni_common.h" #include "profile_common.h" +#include "privilege_common.h" #include "launcher_env.h" -#include -#include - #ifdef LOG_TAG #undef LOG_TAG #endif @@ -33,25 +31,6 @@ typedef struct _xmlDoc xmlDoc; typedef xmlDoc* xmlDocPtr; bool pluginInstalled = false; -static const char* INTERNET_PRIVILEGE = "http://tizen.org/privilege/internet"; -static int UID_OWNER = 5001; - -static void checkPrivilegeAndDisableIPv6(const char* pkgId, const std::string& rootPath) -{ - int res = 0; - if (security_manager_app_has_privilege(pkgId, INTERNET_PRIVILEGE, UID_OWNER, &res) == SECURITY_MANAGER_SUCCESS) { - if (res != 1) { - std::string filePath = rootPath + "/bin/" + DISABLE_IPV6_FILE; - std::ofstream output(filePath); - if (exist(filePath)) { - _INFO("File to disable IPv6 is created successfully"); - } else { - _ERR("Failed to create file to disable IPv6 [%s]", pkgId); - } - output.close(); - } - } -} extern "C" int PKGMGR_PARSER_PLUGIN_INSTALL(xmlDocPtr doc, const char* pkgId) { @@ -86,7 +65,7 @@ extern "C" int PKGMGR_PARSER_PLUGIN_INSTALL(xmlDocPtr doc, const char* pkgId) _ERR("Failed to resolve platform specific resources of nuget"); } - checkPrivilegeAndDisableIPv6(pkgId, rootPath); + checkInternetPrivilegeAndDisableIPv6(pkgId, rootPath); return 0; } diff --git a/NativeLauncher/tool/dotnettool.cc b/NativeLauncher/tool/dotnettool.cc index 749ad36..99bc00c 100644 --- a/NativeLauncher/tool/dotnettool.cc +++ b/NativeLauncher/tool/dotnettool.cc @@ -18,6 +18,7 @@ #include "ni_common.h" #include "tac_common.h" #include "profile_common.h" +#include "privilege_common.h" #include "multi_target_resolver.h" #include "log.h" @@ -54,6 +55,8 @@ void DisplayUsage() { " (this option should be run as root)\n" " --rm-all-app-profile - Remove application profile of all packages for all users\n" " (this option should be run as root)\n" + " --check-all-app-privilege - Chcek application privilege of all package\n" + " (this option should be run as root)\n" "\n" "Options:\n" " --mibc - Specify Mibc files. Sepatated with ':'.\n" @@ -372,6 +375,10 @@ int main(int argc, char* argv[]) else if (cmd == "--rm-all-app-profile") { removeAllAppProfileData(); } + //sh-3.2# dotnettool --check-all-app-privilege + else if (cmd == "--check-all-app-privilege") { + checkAllAppPrivilege(); + } else { _SERR("Unknown option [%s]", cmd.c_str()); DisplayUsage(); diff --git a/NativeLauncher/tool/privilege_common.cc b/NativeLauncher/tool/privilege_common.cc new file mode 100644 index 0000000..8b7ba2d --- /dev/null +++ b/NativeLauncher/tool/privilege_common.cc @@ -0,0 +1,101 @@ +/* + * Copyright (c) 2022 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "log.h" +#include "utils.h" +#include "privilege_common.h" +#include "launcher_env.h" + +#include + +static const char* INTERNET_PRIVILEGE = "http://tizen.org/privilege/internet"; +static int UID_OWNER = 5001; + +void checkInternetPrivilegeAndDisableIPv6(const char* pkgId, const std::string& rootPath) +{ + int res = 0; + if (security_manager_app_has_privilege(pkgId, INTERNET_PRIVILEGE, UID_OWNER, &res) == SECURITY_MANAGER_SUCCESS) { + if (res != 1) { + std::string filePath = rootPath + "/bin/" + DISABLE_IPV6_FILE; + std::ofstream output(filePath); + if (exist(filePath)) { + _INFO("File to disable IPv6 is created successfully"); + } else { + _ERR("Failed to create file to disable IPv6 [%s]", pkgId); + } + output.close(); + } + } +} + +static int checkAppPrivilegeListCb(pkgmgrinfo_appinfo_h handle, void *user_data) +{ + char *pkgId = NULL; + int ret = pkgmgrinfo_appinfo_get_pkgid(handle, &pkgId); + if (ret != PMINFO_R_OK || pkgId == NULL) { + _SERR("Failed to get package id"); + return 0; + } + + char *rootPath = NULL; + ret = pkgmgrinfo_appinfo_get_root_path(handle, &rootPath); + if (ret != PMINFO_R_OK) { + _SERR("Failed to get root path"); + return 0; + } + + checkInternetPrivilegeAndDisableIPv6(pkgId, rootPath); + + return 0; +} + +static void checkAppPrivilegeByAppType(const char* type) +{ + pkgmgrinfo_appinfo_filter_h filter; + + int ret = pkgmgrinfo_appinfo_filter_create(&filter); + if (ret != PMINFO_R_OK) { + _SERR("Failed to create appinfo filter"); + return; + } + + ret = pkgmgrinfo_appinfo_filter_add_string(filter, PMINFO_APPINFO_PROP_APP_TYPE, type); + if (ret != PMINFO_R_OK) { + pkgmgrinfo_appinfo_filter_destroy(filter); + _SERR("Failed to add appinfo filter (%s)", type); + return; + } + + ret = pkgmgrinfo_appinfo_filter_foreach_appinfo(filter, checkAppPrivilegeListCb, NULL); + if (ret != PMINFO_R_OK) { + _SERR("Failed to pkgmgrinfo_pkginfo_filter_foreach_pkginfo"); + pkgmgrinfo_appinfo_filter_destroy(filter); + return; + } + + pkgmgrinfo_appinfo_filter_destroy(filter); + + return; +} + +void checkAllAppPrivilege() +{ + std::vector appTypeList = {"dotnet", "dotnet-nui", "dotnet-inhouse"}; + + for (auto& type : appTypeList) { + checkAppPrivilegeByAppType(type); + } +} diff --git a/packaging/715.dotnet_regen_app_ni.patch.sh b/packaging/715.dotnet_regen_app_ni.patch.sh index fe3037c..c877058 100644 --- a/packaging/715.dotnet_regen_app_ni.patch.sh +++ b/packaging/715.dotnet_regen_app_ni.patch.sh @@ -8,3 +8,4 @@ PATH=/usr/bin:/bin:/usr/sbin:/sbin /usr/bin/dotnettool --ni-regen-all-app --skip-ro-app /usr/bin/dotnettool --resolve-all-app /usr/bin/dotnettool --rm-all-app-profile +/usr/bin/dotnettool --check-all-app-privilege diff --git a/packaging/dotnet-launcher.spec b/packaging/dotnet-launcher.spec index 0282891..88c3e93 100644 --- a/packaging/dotnet-launcher.spec +++ b/packaging/dotnet-launcher.spec @@ -218,6 +218,7 @@ chsmack -a User /usr/bin/dotnet-nui-loader %{_libdir}/libni_common.so %{_libdir}/libtac_common.so %{_libdir}/libprofile_common.so +%{_libdir}/libprivilege_common.so %{_libdir}/libmulti_target_resolver.so %{_tmpfilesdir}/%{name}.conf /usr/share/parser-plugins/dotnet-launcher.info @@ -236,12 +237,14 @@ chsmack -a User /usr/bin/dotnet-nui-loader %{_includedir}/ni_common.h %{_includedir}/tac_common.h %{_includedir}/profile_common.h +%{_includedir}/privilege_common.h %{_includedir}/dotnet_launcher_plugin.h %{_includedir}/coreclr_host.h %{_libdir}/libdotnet_launcher_util.so %{_libdir}/libni_common.so %{_libdir}/libtac_common.so %{_libdir}/libprofile_common.so +%{_libdir}/libprivilege_common.so %{_libdir}/pkgconfig/dotnet-launcher.pc %{_framework_dir}/Tizen.Runtime.pdb diff --git a/tests/Apps/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09.sln b/tests/Apps/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09.sln new file mode 100644 index 0000000..025ece1 --- /dev/null +++ b/tests/Apps/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.31727.386 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Launcher_TC_PLUGIN_09", "Launcher_TC_PLUGIN_09\Launcher_TC_PLUGIN_09\Launcher_TC_PLUGIN_09.csproj", "{4E74FF59-5B11-42A8-B5B2-445E351D8002}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Launcher_TC_PLUGIN_09.Tizen", "Launcher_TC_PLUGIN_09\Launcher_TC_PLUGIN_09.Tizen\Launcher_TC_PLUGIN_09.Tizen.csproj", "{9229D8E3-0ED9-4E6C-905A-93CF9C749672}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {4E74FF59-5B11-42A8-B5B2-445E351D8002}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4E74FF59-5B11-42A8-B5B2-445E351D8002}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4E74FF59-5B11-42A8-B5B2-445E351D8002}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4E74FF59-5B11-42A8-B5B2-445E351D8002}.Release|Any CPU.Build.0 = Release|Any CPU + {9229D8E3-0ED9-4E6C-905A-93CF9C749672}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9229D8E3-0ED9-4E6C-905A-93CF9C749672}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9229D8E3-0ED9-4E6C-905A-93CF9C749672}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9229D8E3-0ED9-4E6C-905A-93CF9C749672}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {9AEC76D8-7CD4-40F6-A3A8-E69561DBB25E} + EndGlobalSection +EndGlobal diff --git a/tests/Apps/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09.Tizen/Launcher_TC_PLUGIN_09.Tizen.cs b/tests/Apps/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09.Tizen/Launcher_TC_PLUGIN_09.Tizen.cs new file mode 100644 index 0000000..b6966f0 --- /dev/null +++ b/tests/Apps/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09.Tizen/Launcher_TC_PLUGIN_09.Tizen.cs @@ -0,0 +1,22 @@ +using System; +using Xamarin.Forms; + +namespace Launcher_TC_PLUGIN_09 +{ + class Program : global::Xamarin.Forms.Platform.Tizen.FormsApplication + { + protected override void OnCreate() + { + base.OnCreate(); + + LoadApplication(new App()); + } + + static void Main(string[] args) + { + var app = new Program(); + Forms.Init(app); + app.Run(args); + } + } +} diff --git a/tests/Apps/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09.Tizen/Launcher_TC_PLUGIN_09.Tizen.csproj b/tests/Apps/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09.Tizen/Launcher_TC_PLUGIN_09.Tizen.csproj new file mode 100644 index 0000000..a4c9139 --- /dev/null +++ b/tests/Apps/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09.Tizen/Launcher_TC_PLUGIN_09.Tizen.csproj @@ -0,0 +1,27 @@ + + + + Exe + tizen60 + Launcher_TC_PLUGIN_09.Tizen + + + + portable + + + None + + + + + + + + + + + + + + diff --git a/tests/Apps/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09.Tizen/shared/res/Launcher_TC_PLUGIN_09.Tizen.png b/tests/Apps/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09.Tizen/shared/res/Launcher_TC_PLUGIN_09.Tizen.png new file mode 100644 index 0000000000000000000000000000000000000000..9f3cb98608134e7b9eb4beb7394fec9f03e40f63 GIT binary patch literal 10097 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 TJbOA100000NkvXXu0mjf?x(Kf literal 0 HcmV?d00001 diff --git a/tests/Apps/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09.Tizen/tizen-manifest.xml b/tests/Apps/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09.Tizen/tizen-manifest.xml new file mode 100644 index 0000000..9a61066 --- /dev/null +++ b/tests/Apps/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09.Tizen/tizen-manifest.xml @@ -0,0 +1,16 @@ + + + + + + Launcher_TC_PLUGIN_09.Tizen.png + + + diff --git a/tests/Apps/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09.cs b/tests/Apps/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09.cs new file mode 100644 index 0000000..64ca038 --- /dev/null +++ b/tests/Apps/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +using Xamarin.Forms; + +namespace Launcher_TC_PLUGIN_09 +{ + public class App : Application + { + public App() + { + // The root page of your application + MainPage = new ContentPage + { + Content = new StackLayout + { + VerticalOptions = LayoutOptions.Center, + Children = { + new Label { + HorizontalTextAlignment = TextAlignment.Center, + Text = "Welcome to Xamarin Forms!" + } + } + } + }; + } + + protected override void OnStart() + { + // Handle when your app starts + } + + protected override void OnSleep() + { + // Handle when your app sleeps + } + + protected override void OnResume() + { + // Handle when your app resumes + } + } +} diff --git a/tests/Apps/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09.csproj b/tests/Apps/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09.csproj new file mode 100644 index 0000000..be3d00f --- /dev/null +++ b/tests/Apps/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09/Launcher_TC_PLUGIN_09.csproj @@ -0,0 +1,11 @@ + + + + netstandard2.0 + + + + + + + diff --git a/tests/Apps/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10.sln b/tests/Apps/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10.sln new file mode 100644 index 0000000..8568d5f --- /dev/null +++ b/tests/Apps/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.31727.386 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Launcher_TC_PLUGIN_10", "Launcher_TC_PLUGIN_10\Launcher_TC_PLUGIN_10\Launcher_TC_PLUGIN_10.csproj", "{2606DC60-FB43-4D6E-8B65-FA01CF966D6E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Launcher_TC_PLUGIN_10.Tizen", "Launcher_TC_PLUGIN_10\Launcher_TC_PLUGIN_10.Tizen\Launcher_TC_PLUGIN_10.Tizen.csproj", "{47D8D4A8-AEDB-4995-B090-BA218137ADA7}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {2606DC60-FB43-4D6E-8B65-FA01CF966D6E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2606DC60-FB43-4D6E-8B65-FA01CF966D6E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2606DC60-FB43-4D6E-8B65-FA01CF966D6E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2606DC60-FB43-4D6E-8B65-FA01CF966D6E}.Release|Any CPU.Build.0 = Release|Any CPU + {47D8D4A8-AEDB-4995-B090-BA218137ADA7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {47D8D4A8-AEDB-4995-B090-BA218137ADA7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {47D8D4A8-AEDB-4995-B090-BA218137ADA7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {47D8D4A8-AEDB-4995-B090-BA218137ADA7}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {B74D80B9-A84E-4030-A754-346A1AB54157} + EndGlobalSection +EndGlobal diff --git a/tests/Apps/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10.Tizen/Launcher_TC_PLUGIN_10.Tizen.cs b/tests/Apps/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10.Tizen/Launcher_TC_PLUGIN_10.Tizen.cs new file mode 100644 index 0000000..cc13a68 --- /dev/null +++ b/tests/Apps/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10.Tizen/Launcher_TC_PLUGIN_10.Tizen.cs @@ -0,0 +1,22 @@ +using System; +using Xamarin.Forms; + +namespace Launcher_TC_PLUGIN_10 +{ + class Program : global::Xamarin.Forms.Platform.Tizen.FormsApplication + { + protected override void OnCreate() + { + base.OnCreate(); + + LoadApplication(new App()); + } + + static void Main(string[] args) + { + var app = new Program(); + Forms.Init(app); + app.Run(args); + } + } +} diff --git a/tests/Apps/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10.Tizen/Launcher_TC_PLUGIN_10.Tizen.csproj b/tests/Apps/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10.Tizen/Launcher_TC_PLUGIN_10.Tizen.csproj new file mode 100644 index 0000000..98cf686 --- /dev/null +++ b/tests/Apps/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10.Tizen/Launcher_TC_PLUGIN_10.Tizen.csproj @@ -0,0 +1,27 @@ + + + + Exe + tizen60 + Launcher_TC_PLUGIN_10.Tizen + + + + portable + + + None + + + + + + + + + + + + + + diff --git a/tests/Apps/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10.Tizen/shared/res/Launcher_TC_PLUGIN_10.Tizen.png b/tests/Apps/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10.Tizen/shared/res/Launcher_TC_PLUGIN_10.Tizen.png new file mode 100644 index 0000000000000000000000000000000000000000..9f3cb98608134e7b9eb4beb7394fec9f03e40f63 GIT binary patch literal 10097 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 TJbOA100000NkvXXu0mjf?x(Kf literal 0 HcmV?d00001 diff --git a/tests/Apps/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10.Tizen/tizen-manifest.xml b/tests/Apps/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10.Tizen/tizen-manifest.xml new file mode 100644 index 0000000..814ac29 --- /dev/null +++ b/tests/Apps/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10.Tizen/tizen-manifest.xml @@ -0,0 +1,16 @@ + + + + + + Launcher_TC_PLUGIN_10.Tizen.png + + + + + + http://tizen.org/privilege/internet + + + + diff --git a/tests/Apps/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10.cs b/tests/Apps/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10.cs new file mode 100644 index 0000000..097d4a9 --- /dev/null +++ b/tests/Apps/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +using Xamarin.Forms; + +namespace Launcher_TC_PLUGIN_10 +{ + public class App : Application + { + public App() + { + // The root page of your application + MainPage = new ContentPage + { + Content = new StackLayout + { + VerticalOptions = LayoutOptions.Center, + Children = { + new Label { + HorizontalTextAlignment = TextAlignment.Center, + Text = "Welcome to Xamarin Forms!" + } + } + } + }; + } + + protected override void OnStart() + { + // Handle when your app starts + } + + protected override void OnSleep() + { + // Handle when your app sleeps + } + + protected override void OnResume() + { + // Handle when your app resumes + } + } +} diff --git a/tests/Apps/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10.csproj b/tests/Apps/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10.csproj new file mode 100644 index 0000000..be3d00f --- /dev/null +++ b/tests/Apps/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10/Launcher_TC_PLUGIN_10.csproj @@ -0,0 +1,11 @@ + + + + netstandard2.0 + + + + + + + diff --git a/tests/Apps/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10.sln b/tests/Apps/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10.sln new file mode 100644 index 0000000..e7d75d6 --- /dev/null +++ b/tests/Apps/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.31727.386 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Launcher_TC_TOOL_10", "Launcher_TC_TOOL_10\Launcher_TC_TOOL_10\Launcher_TC_TOOL_10.csproj", "{253A4C84-2488-4A71-A07E-B90FF118D7D0}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Launcher_TC_TOOL_10.Tizen", "Launcher_TC_TOOL_10\Launcher_TC_TOOL_10.Tizen\Launcher_TC_TOOL_10.Tizen.csproj", "{C6BDFE5E-5BEE-4170-9E0F-8F198AE30628}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {253A4C84-2488-4A71-A07E-B90FF118D7D0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {253A4C84-2488-4A71-A07E-B90FF118D7D0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {253A4C84-2488-4A71-A07E-B90FF118D7D0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {253A4C84-2488-4A71-A07E-B90FF118D7D0}.Release|Any CPU.Build.0 = Release|Any CPU + {C6BDFE5E-5BEE-4170-9E0F-8F198AE30628}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C6BDFE5E-5BEE-4170-9E0F-8F198AE30628}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C6BDFE5E-5BEE-4170-9E0F-8F198AE30628}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C6BDFE5E-5BEE-4170-9E0F-8F198AE30628}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {C6424644-C8C2-42A2-B35F-B87B9474C8F7} + EndGlobalSection +EndGlobal diff --git a/tests/Apps/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10.Tizen/Launcher_TC_TOOL_10.Tizen.cs b/tests/Apps/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10.Tizen/Launcher_TC_TOOL_10.Tizen.cs new file mode 100644 index 0000000..590ba0e --- /dev/null +++ b/tests/Apps/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10.Tizen/Launcher_TC_TOOL_10.Tizen.cs @@ -0,0 +1,22 @@ +using System; +using Xamarin.Forms; + +namespace Launcher_TC_TOOL_10 +{ + class Program : global::Xamarin.Forms.Platform.Tizen.FormsApplication + { + protected override void OnCreate() + { + base.OnCreate(); + + LoadApplication(new App()); + } + + static void Main(string[] args) + { + var app = new Program(); + Forms.Init(app); + app.Run(args); + } + } +} diff --git a/tests/Apps/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10.Tizen/Launcher_TC_TOOL_10.Tizen.csproj b/tests/Apps/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10.Tizen/Launcher_TC_TOOL_10.Tizen.csproj new file mode 100644 index 0000000..0781a13 --- /dev/null +++ b/tests/Apps/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10.Tizen/Launcher_TC_TOOL_10.Tizen.csproj @@ -0,0 +1,27 @@ + + + + Exe + tizen60 + Launcher_TC_TOOL_10.Tizen + + + + portable + + + None + + + + + + + + + + + + + + diff --git a/tests/Apps/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10.Tizen/shared/res/Launcher_TC_TOOL_10.Tizen.png b/tests/Apps/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10.Tizen/shared/res/Launcher_TC_TOOL_10.Tizen.png new file mode 100644 index 0000000000000000000000000000000000000000..9f3cb98608134e7b9eb4beb7394fec9f03e40f63 GIT binary patch literal 10097 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 TJbOA100000NkvXXu0mjf?x(Kf literal 0 HcmV?d00001 diff --git a/tests/Apps/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10.Tizen/tizen-manifest.xml b/tests/Apps/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10.Tizen/tizen-manifest.xml new file mode 100644 index 0000000..8b1fe38 --- /dev/null +++ b/tests/Apps/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10.Tizen/tizen-manifest.xml @@ -0,0 +1,14 @@ + + + + + + Launcher_TC_TOOL_10.Tizen.png + + + + + + + + diff --git a/tests/Apps/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10.cs b/tests/Apps/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10.cs new file mode 100644 index 0000000..e55fb56 --- /dev/null +++ b/tests/Apps/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +using Xamarin.Forms; + +namespace Launcher_TC_TOOL_10 +{ + public class App : Application + { + public App() + { + // The root page of your application + MainPage = new ContentPage + { + Content = new StackLayout + { + VerticalOptions = LayoutOptions.Center, + Children = { + new Label { + HorizontalTextAlignment = TextAlignment.Center, + Text = "Welcome to Xamarin Forms!" + } + } + } + }; + } + + protected override void OnStart() + { + // Handle when your app starts + } + + protected override void OnSleep() + { + // Handle when your app sleeps + } + + protected override void OnResume() + { + // Handle when your app resumes + } + } +} diff --git a/tests/Apps/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10.csproj b/tests/Apps/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10.csproj new file mode 100644 index 0000000..be3d00f --- /dev/null +++ b/tests/Apps/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10/Launcher_TC_TOOL_10.csproj @@ -0,0 +1,11 @@ + + + + netstandard2.0 + + + + + + + diff --git a/tests/TCs/2_PLUGIN/PLUGIN.py b/tests/TCs/2_PLUGIN/PLUGIN.py index 3dfdf39..6d19123 100755 --- a/tests/TCs/2_PLUGIN/PLUGIN.py +++ b/tests/TCs/2_PLUGIN/PLUGIN.py @@ -259,6 +259,50 @@ def TC_08(): return "PASS" +# The Launcher_TC_PLUGIN_09 application must have a ._TIZEN_DOTNET_SYSTEM_NET_DISABLEIPV6 file exist. +def TC_09(): + sln_name = "Launcher_TC_PLUGIN_09.Tizen" + + tpk_path = get_tpk_path(tpk_list, f"{sln_name}") + if tpk_path == None: + return f"FAIL : Get the tpk path for {sln_name}" + + if "OK" not in app_install(f"{tpk_path}"): + return f"FAIL : Install the application for {tpk_path}" + + pkg_id = f"org.tizen.example.Launcher_TC_PLUGIN_09.Tizen" + + root_path = get_root_path(f"{pkg_id}") + if root_path == "None": + return f"FAIL : Get the root path for {pkg_id}" + + if not exist(f"{root_path}/bin/._TIZEN_DOTNET_SYSTEM_NET_DISABLEIPV6"): + return "FAIL : The ._TIZEN_DOTNET_SYSTEM_NET_DISABLEIPV6 file should exist" + + return "PASS" + +# The Launcher_TC_PLUGIN_10 application must not have a ._TIZEN_DOTNET_SYSTEM_NET_DISABLEIPV6 file. +def TC_10(): + sln_name = "Launcher_TC_PLUGIN_10.Tizen" + + tpk_path = get_tpk_path(tpk_list, f"{sln_name}") + if tpk_path == None: + return f"FAIL : Get the tpk path for {sln_name}" + + if "OK" not in app_install(f"{tpk_path}"): + return f"FAIL : Install the application for {tpk_path}" + + pkg_id = f"org.tizen.example.Launcher_TC_PLUGIN_10.Tizen" + + root_path = get_root_path(f"{pkg_id}") + if root_path == "None": + return f"FAIL : Get the root path for {pkg_id}" + + if exist(f"{root_path}/bin/._TIZEN_DOTNET_SYSTEM_NET_DISABLEIPV6"): + return "FAIL : The ._TIZEN_DOTNET_SYSTEM_NET_DISABLEIPV6 file should not exist" + + return "PASS" + # Run the test def run(): cmd(f"root on") @@ -286,6 +330,8 @@ def clean(): cmd(f"uninstall org.tizen.example.Launcher_TC_PLUGIN_06.Tizen") cmd(f"uninstall org.tizen.example.Launcher_TC_PLUGIN_07.Tizen") cmd(f"uninstall org.tizen.example.Launcher_TC_PLUGIN_08.Tizen") + cmd(f"uninstall org.tizen.example.Launcher_TC_PLUGIN_09.Tizen") + cmd(f"uninstall org.tizen.example.Launcher_TC_PLUGIN_10.Tizen") # Main entry point def main(): @@ -303,7 +349,7 @@ def main(): else: tc_array.append(funcMap[tc_num]) else: - tc_array = [TC_01, TC_02, TC_03, TC_04, TC_05, TC_06, TC_07, TC_08] + tc_array = [TC_01, TC_02, TC_03, TC_04, TC_05, TC_06, TC_07, TC_08, TC_09, TC_10] global serial if len(sys.argv) >= 2 and "TC_" not in sys.argv[1]: @@ -323,9 +369,9 @@ def main(): funcMap = { -'TC_01': TC_01, 'TC_02': TC_02, 'TC_03': TC_03, 'TC_04': TC_04, 'TC_05': TC_05, 'TC_06': TC_06, 'TC_07': TC_07, 'TC_08': TC_08, -'PLUGIN_TC_01': TC_01, 'PLUGIN_TC_02': TC_02, 'PLUGIN_TC_03': TC_03, 'PLUGIN_TC_04': TC_04, -'PLUGIN_TC_05': TC_05, 'PLUGIN_TC_06': TC_06, 'PLUGIN_TC_07': TC_07, 'PLUGIN_TC_08': TC_08 +'TC_01': TC_01, 'TC_02': TC_02, 'TC_03': TC_03, 'TC_04': TC_04, 'TC_05': TC_05, 'TC_06': TC_06, 'TC_07': TC_07, 'TC_08': TC_08, 'TC_09': TC_09, 'TC_10': TC_10, +'PLUGIN_TC_01': TC_01, 'PLUGIN_TC_02': TC_02, 'PLUGIN_TC_03': TC_03, 'PLUGIN_TC_04': TC_04, 'PLUGIN_TC_05': TC_05, +'PLUGIN_TC_06': TC_06, 'PLUGIN_TC_07': TC_07, 'PLUGIN_TC_08': TC_08, 'PLUGIN_TC_09': TC_09, 'PLUGIN_TC_10': TC_10 } diff --git a/tests/TCs/2_PLUGIN/README.md b/tests/TCs/2_PLUGIN/README.md index 29def58..74d9880 100644 --- a/tests/TCs/2_PLUGIN/README.md +++ b/tests/TCs/2_PLUGIN/README.md @@ -88,6 +88,16 @@ launcher/tests/TCs/2_PLUGIN$ ./PLUGIN.py TC_01 3. The `library(.so)` with `same SHA` value must exist in the application and TLC. 4. The `library(.so)` should be a symbolic link. 5. The arch of the target and the arch of the library must match. +* TC_09 +``` + PASS : The Launcher_TC_PLUGIN_09 application must have a ._TIZEN_DOTNET_SYSTEM_NET_DISABLEIPV6 file exist. +``` + 1. Applications without Internet privilege must have a ._TIZEN_DOTNET_SYSTEM_NET_DISABLEIPV6 file. +* TC_10 +``` + PASS : The Launcher_TC_PLUGIN_10 application must not have a ._TIZEN_DOTNET_SYSTEM_NET_DISABLEIPV6 file. +``` + 1. Applications with Internet privilege must not have a ._TIZEN_DOTNET_SYSTEM_NET_DISABLEIPV6 file. ---- ### Note diff --git a/tests/TCs/6_TOOL/README.md b/tests/TCs/6_TOOL/README.md index 2dd0dd8..47d24d8 100644 --- a/tests/TCs/6_TOOL/README.md +++ b/tests/TCs/6_TOOL/README.md @@ -151,6 +151,11 @@ launcher/tests/TCs/6_TOOL$ ./TOOL.py TC_01 PASS : Create native image for mscorlib.dll by adding option --no-pipeline. ``` 1. sh-3.2# dotnettool --ni-dll --no-pipeline --print-cmd /usr/share/dotnet.tizen/netcoreapp/mscorlib.dll +* TC_25 +``` + PASS : Applications that do not have Internet privilege must have ._TIZEN_DOTNET_SYSTEM_NET_DISABLEIPV6 file created. +``` + 1. sh-3.2# dotnettool --check-all-app-privilege ---- ### Note diff --git a/tests/TCs/6_TOOL/TOOL.py b/tests/TCs/6_TOOL/TOOL.py index d6bcd45..ae53ce5 100755 --- a/tests/TCs/6_TOOL/TOOL.py +++ b/tests/TCs/6_TOOL/TOOL.py @@ -611,7 +611,36 @@ def TC_24(): return "PASS" -#def TC_25(): +# Applications that do not have Internet privilege must have ._TIZEN_DOTNET_SYSTEM_NET_DISABLEIPV6 file created. +def TC_25(): + sln_name = "Launcher_TC_TOOL_10.Tizen" + + tpk_path = get_tpk_path(tpk_list, f"{sln_name}") + if tpk_path == None: + return f"FAIL : Get the tpk path for {sln_name}" + + if "OK" not in app_install(f"{tpk_path}"): + return f"FAIL : Install the application for {tpk_path}" + + pkg_id = f"org.tizen.example.Launcher_TC_TOOL_10.Tizen" + + root_path = get_root_path(f"{pkg_id}") + if root_path == "None": + return f"FAIL : Get the root path for {pkg_id}" + + if not exist(f"{root_path}/bin/._TIZEN_DOTNET_SYSTEM_NET_DISABLEIPV6"): + return "FAIL : The ._TIZEN_DOTNET_SYSTEM_NET_DISABLEIPV6 file should exist" + + cmd(f"shell mount -o remount,rw /") + cmd(f"shell rm {root_path}/bin/._TIZEN_DOTNET_SYSTEM_NET_DISABLEIPV6") + + cmd(f"shell dotnettool --check-all-app-privilege") + if not exist(f"{root_path}/bin/._TIZEN_DOTNET_SYSTEM_NET_DISABLEIPV6"): + return "FAIL : The ._TIZEN_DOTNET_SYSTEM_NET_DISABLEIPV6 file should exist" + + return "PASS" + +#def TC_26(): #dotnettool --rm-app-profile #dotnettool --rm-all-app-profile @@ -641,6 +670,7 @@ def clean(): cmd(f"uninstall org.tizen.example.Launcher_TC_TOOL_05.Tizen") cmd(f"uninstall org.tizen.example.Launcher_TC_TOOL_06.Tizen") cmd(f"uninstall org.tizen.example.Launcher_TC_TOOL_07.Tizen") + cmd(f"uninstall org.tizen.example.Launcher_TC_TOOL_10.Tizen") cmd(f"shell rm {FRAMEWORK_DIR}Tizen.ni.dll") cmd(f"shell rm {FRAMEWORK_DIR}Tizen.Log.ni.dll") @@ -671,7 +701,7 @@ def main(): tc_array.append(funcMap[tc_num]) else: # skip TC_07 (--r2r), TC_09 (--ibc-dir) - tc_array = [TC_01, TC_02, TC_03, TC_04, TC_05, TC_06, TC_08, TC_10, TC_11, TC_12, TC_13, TC_14, TC_15, TC_16, TC_17, TC_18, TC_19, TC_20, TC_21, TC_22, TC_23, TC_24] + tc_array = [TC_01, TC_02, TC_03, TC_04, TC_05, TC_06, TC_08, TC_10, TC_11, TC_12, TC_13, TC_14, TC_15, TC_16, TC_17, TC_18, TC_19, TC_20, TC_21, TC_22, TC_23, TC_24, TC_25] global serial if len(sys.argv) >= 2 and "TC_" not in sys.argv[1]: @@ -694,10 +724,11 @@ funcMap = { 'TC_01': TC_01, 'TC_02': TC_02, 'TC_03': TC_03, 'TC_04': TC_04, 'TC_05': TC_05, 'TC_06': TC_06, 'TC_07': TC_07, 'TC_08': TC_08, 'TC_09': TC_09, 'TC_10': TC_10, 'TC_11': TC_11, 'TC_12': TC_12, 'TC_13': TC_13, 'TC_14': TC_14, 'TC_15': TC_15, 'TC_16': TC_16, 'TC_17': TC_17, 'TC_18': TC_17_18, -'TC_19': TC_19, 'TC_20': TC_20, 'TC_21': TC_21, 'TC_22' : TC_22, 'TC_23' : TC_23, 'TC_24' : TC_24, +'TC_19': TC_19, 'TC_20': TC_20, 'TC_21': TC_21, 'TC_22' : TC_22, 'TC_23' : TC_23, 'TC_24' : TC_24, 'TC_25' : TC_25, 'TOOL_TC_01': TC_01, 'TOOL_TC_02': TC_02, 'TOOL_TC_03': TC_03, 'TOOL_TC_04': TC_04, 'TOOL_TC_05': TC_05, 'TOOL_TC_06': TC_06, 'TOOL_TC_07': TC_07, 'TOOL_TC_08': TC_08, 'TOOL_TC_09': TC_09, 'TOOL_TC_10': TC_10, 'TOOL_TC_11': TC_11, 'TOOL_TC_12': TC_12, -'TOOL_TC_13': TC_13, 'TOOL_TC_14': TC_14, 'TOOL_TC_15': TC_15, 'TOOL_TC_16': TC_16, 'TOOL_TC_17': TC_17, 'TOOL_TC_18': TC_17_18, 'TOOL_TC_19': TC_19, 'TOOL_TC_20': TC_20, 'TOOL_TC_21': TC_21, 'TOOL_TC_22' : TC_22, 'TOOL_TC_23' : TC_23, 'TOOL_TC_24' : TC_24 +'TOOL_TC_13': TC_13, 'TOOL_TC_14': TC_14, 'TOOL_TC_15': TC_15, 'TOOL_TC_16': TC_16, 'TOOL_TC_17': TC_17, 'TOOL_TC_18': TC_17_18, +'TOOL_TC_19': TC_19, 'TOOL_TC_20': TC_20, 'TOOL_TC_21': TC_21, 'TOOL_TC_22' : TC_22, 'TOOL_TC_23' : TC_23, 'TOOL_TC_24' : TC_24, 'TOOL_TC_25' : TC_25 } -- 2.7.4