From 3d946c97c4762542270dcb97e29f397b8876fe05 Mon Sep 17 00:00:00 2001 From: mamingshuai Date: Thu, 11 Mar 2021 18:43:00 +0800 Subject: [PATCH] update openharmony 1.0.1 --- .gitee/ISSUE_TEMPLATE.zh-CN.md | 13 - .gitee/PULL_REQUEST_TEMPLATE.zh-CN.md | 15 - .gitignore | 1 - BUILD.gn | 113 +++-- README.md | 128 ++++++ README_zh.md | 128 ++++++ figures/en-us_image_0000001081284974.png | Bin 0 -> 121225 bytes figures/zh-cn_image_0000001081284974.png | Bin 0 -> 66647 bytes include/distributed_schedule_service.h | 0 include/dmslite.h | 0 include/dmslite_check_remote_permission.h | 0 include/dmslite_famgr.h | 0 include/dmslite_inner_common.h | 4 + include/dmslite_msg_parser.h | 0 include/dmslite_session.h | 0 include/dmslite_tlv_common.h | 0 moduletest/dtbschedmgr_lite/BUILD.gn | 33 ++ moduletest/dtbschedmgr_lite/LICENSE | 177 ++++++++ .../source/tlv_parse_test.cpp | 429 ++++++++++++++++++ readme.md | 3 - source/distributed_schedule_service.c | 7 +- source/dmslite.c | 14 +- source/dmslite_session.c | 2 +- source/dmslite_tlv_common.c | 0 24 files changed, 967 insertions(+), 100 deletions(-) delete mode 100755 .gitee/ISSUE_TEMPLATE.zh-CN.md delete mode 100755 .gitee/PULL_REQUEST_TEMPLATE.zh-CN.md delete mode 100755 .gitignore create mode 100755 README.md create mode 100755 README_zh.md create mode 100755 figures/en-us_image_0000001081284974.png create mode 100755 figures/zh-cn_image_0000001081284974.png mode change 100755 => 100644 include/distributed_schedule_service.h mode change 100755 => 100644 include/dmslite.h mode change 100755 => 100644 include/dmslite_check_remote_permission.h mode change 100755 => 100644 include/dmslite_famgr.h mode change 100755 => 100644 include/dmslite_msg_parser.h mode change 100755 => 100644 include/dmslite_session.h mode change 100755 => 100644 include/dmslite_tlv_common.h create mode 100644 moduletest/dtbschedmgr_lite/BUILD.gn create mode 100755 moduletest/dtbschedmgr_lite/LICENSE create mode 100644 moduletest/dtbschedmgr_lite/source/tlv_parse_test.cpp delete mode 100755 readme.md mode change 100755 => 100644 source/dmslite_tlv_common.c diff --git a/.gitee/ISSUE_TEMPLATE.zh-CN.md b/.gitee/ISSUE_TEMPLATE.zh-CN.md deleted file mode 100755 index f09d98d..0000000 --- a/.gitee/ISSUE_TEMPLATE.zh-CN.md +++ /dev/null @@ -1,13 +0,0 @@ -### 该问题是怎么引起的? - - - -### 重现步骤 - - - -### 报错信息 - - - - diff --git a/.gitee/PULL_REQUEST_TEMPLATE.zh-CN.md b/.gitee/PULL_REQUEST_TEMPLATE.zh-CN.md deleted file mode 100755 index 33948fd..0000000 --- a/.gitee/PULL_REQUEST_TEMPLATE.zh-CN.md +++ /dev/null @@ -1,15 +0,0 @@ -### 相关的Issue - - -### 原因(目的、解决的问题等) - - -### 描述(做了什么,变更了什么) - - -### 测试用例(新增、改动、可能影响的功能) - - - - - diff --git a/.gitignore b/.gitignore deleted file mode 100755 index a8a272d..0000000 --- a/.gitignore +++ /dev/null @@ -1 +0,0 @@ -moduletest diff --git a/BUILD.gn b/BUILD.gn index dc6231b..1012d90 100755 --- a/BUILD.gn +++ b/BUILD.gn @@ -14,70 +14,67 @@ import("//build/lite/config/component/lite_component.gni") if (ohos_kernel_type == "liteos_a" || ohos_kernel_type == "linux") { - lite_library("dmslite") { - target_type = "shared_library" + lite_library("dmslite") { + target_type = "shared_library" - cflags = ["-Wall"] - cflags_cc = cflags + cflags = [ "-Wall" ] + cflags_cc = cflags - defines = [ - "_GNU_SOURCE", - "OHOS_APPEXECFWK_BMS_BUNDLEMANAGER", - ] + defines = [ + "_GNU_SOURCE", + "OHOS_APPEXECFWK_BMS_BUNDLEMANAGER", + ] - sources = [ - "source/distributed_schedule_service.c", - "source/dmslite.c", - "source/dmslite_famgr.c", - "source/dmslite_msg_parser.c", - "source/dmslite_tlv_common.c", - "source/dmslite_session.c", - "source/dmslite_check_remote_permission.c" - ] + sources = [ + "source/distributed_schedule_service.c", + "source/dmslite.c", + "source/dmslite_check_remote_permission.c", + "source/dmslite_famgr.c", + "source/dmslite_msg_parser.c", + "source/dmslite_session.c", + "source/dmslite_tlv_common.c", + ] - include_dirs = [ - "include", - "//foundation/distributedschedule/interfaces/innerkits/samgr_lite", - "//foundation/distributedschedule/interfaces/kits/samgr_lite/samgr", - "//foundation/aafwk/interfaces/innerkits/abilitymgr_lite", - "//foundation/distributedschedule/interfaces/kits/samgr_lite/registry", - "//foundation/communication/interfaces/kits/softbus_lite/transport", - "//foundation/communication/interfaces/kits/softbus_lite/discovery", - "//foundation/aafwk/interfaces/kits/ability_lite", - "//foundation/aafwk/interfaces/kits/want_lite", - "//foundation/appexecfwk/interfaces/kits/bundle_lite", - "//foundation/appexecfwk/interfaces/innerkits/bundlemgr_lite", - "//kernel/liteos_a/kernel/include", - "//kernel/liteos_a/kernel/common", - "//third_party/bounds_checking_function/include", - "//third_party/cJSON", - "//utils/native/lite/include", - ] + include_dirs = [ + "include", + "//foundation/distributedschedule/samgr_lite/interfaces/innerkits", + "//foundation/distributedschedule/samgr_lite/interfaces/kits/samgr", + "${aafwk_lite_path}/interfaces/innerkits/abilitymgr_lite", + "//foundation/distributedschedule/samgr_lite/interfaces/kits/registry", + "//foundation/communication/softbus_lite/interfaces/kits/transport", + "//foundation/communication/softbus_lite/interfaces/kits/discovery", + "${aafwk_lite_path}/interfaces/kits/ability_lite", + "${aafwk_lite_path}/interfaces/kits/want_lite", + "${appexecfwk_lite_path}/interfaces/kits/bundle_lite", + "${appexecfwk_lite_path}/interfaces/innerkits/bundlemgr_lite", + "//kernel/liteos_a/kernel/include", + "//kernel/liteos_a/kernel/common", + "//third_party/bounds_checking_function/include", + "//third_party/cJSON", + "//utils/native/lite/include", + ] - deps = [ - ] + deps = [] - public_deps = [ - "//base/hiviewdfx/frameworks/hilog_lite/featured:hilog_shared", - "//base/security/frameworks/huks_lite/source:huks", - "//foundation/distributedschedule/services/samgr_lite/samgr:samgr", - "//foundation/communication/services/softbus_lite:softbus_lite", - "//third_party/bounds_checking_function:libsec_shared", - "//foundation/aafwk/frameworks/abilitymgr_lite:aafwk_abilityManager_lite", - ] - } + public_deps = [ + "${aafwk_lite_path}/frameworks/abilitymgr_lite:aafwk_abilityManager_lite", + "//base/hiviewdfx/hilog_lite/frameworks/featured:hilog_shared", + "//base/security/huks/frameworks/huks_lite/source:huks", + "//foundation/communication/softbus_lite:softbus", + "//foundation/distributedschedule/samgr_lite/samgr:samgr", + "//third_party/bounds_checking_function:libsec_shared", + ] + } - lite_component("dtbschedmgr") { - features = [ - ":dmslite", - ] - } + lite_component("dtbschedmgr") { + features = [ ":dmslite" ] + } - generate_notice_file("dtbschedmgr_notice_file") { - module_name = "dtbschedmgr" - module_source_dir_list = [ - "//third_party/bounds_checking_function", - "//third_party/cJSON", - ] - } + generate_notice_file("dtbschedmgr_notice_file") { + module_name = "dtbschedmgr" + module_source_dir_list = [ + "//third_party/bounds_checking_function", + "//third_party/cJSON", + ] + } } diff --git a/README.md b/README.md new file mode 100755 index 0000000..7a23c68 --- /dev/null +++ b/README.md @@ -0,0 +1,128 @@ +# dms\_fwk\_lite + +- [Introduction](#section11660541593) +- [Directory Structure](#section1464106163817) +- [Constraints](#section1718733212019) +- [Usage](#section10729231131110) +- [Repositories Involved](#section176111311166) + +## Introduction + +The Distributed Scheduler is used for cross-device component management. It allows the local device to access or control remote components, and enables application collaboration in distributed scenarios. The following figure shows the modules in the Distributed Scheduler. + +![](figures/en-us_image_0000001081284974.png) + +## Directory Structure + +The following table describes the directory structure of the Distributed Scheduler. + +**Table 1** Directory structure of the major source code + + + + + + + + + + + + + +

Directory

+

Description

+

dmsfwk_lite

+

Implementation of the Distributed Scheduler

+

safwk_lite

+

Implementation of the foundation process

+
+ +The source code directory structure of the Distributed Scheduler is as follows: + +``` +├── BUILD.gn +├── include +│ ├── distributed_schedule_service.h # Header file for the open APIs provided by the Distributed Scheduler +│ ├── dmslite_check_remote_permission.h # Header file for the permission management module of the Distributed Scheduler +│ ├── dmslite_famgr.h # Header file for the FA management module of the Distributed Scheduler +│ ├── dmslite_inner_common.h # Internal common file for the Distributed Scheduler +│ ├── dmslite.h # Header file for the implementation of the Distributed Scheduler Service (also called the Distributed Manager Service) +│ ├── dmslite_log.h # Header file for the log module +│ ├── dmslite_msg_parser.h # Header file for the distributed message parsing module +│ ├── dmslite_tlv_common.h # Header file for the TLV data parsing module +│ └── dmslite_session.h # Header file for the inter-device communication module +├── readme.md +├── LICENSE +├── source + ├── distributed_schedule_service.c + ├── dmslite.c + ├── dmslite_check_remote_permission.c + ├── dmslite_famgr.c + ├── dmslite_msg_parser.c + ├── dmslite_tlv_common.c + └── dmslite_session.c +``` + +## Constraints + +**Programming language**: C/C++ + +**Networking environment**: The primary and secondary devices must be on the same LAN and can ping each other. + +**Operating system**: OpenHarmony + +**Limitations and constraints on remote startup**: + +- Only Feature Abilities \(FAs\) can be started remotely. Remote startup is unavailable to abilities using the Service template. +- Before the remote startup, ensure that the distributed networking between the primary and secondary devices is successful. Otherwise, the remote startup fails. + +## Usage + +- **Compiling and Building the Distributed Scheduler** + +The code of the Distributed Scheduler is stored in the following directory: + +``` +foundation/distributedschedule/dmsfwk_lite +``` + +When compiling and building the code for a specific platform, you need to specify the target platform. + +``` +hb build +``` + +- **Primary device development** \(taking FA startup as an example\) + +Create a **Want** instance to set the remote device ID, bundle name, and ability class name of the target FA and set the **Want.FLAG\_ABILITYSLICE\_MULTI\_DEVICE** flag to enable distributed startup. + +``` +import ohos.aafwk.ability.Ability; +import ohos.aafwk.content.Want; +import ohos.bundle.ElementName; + +// Create a Want instance that will be passed to the startAbility method. +Want want = new Want(); +ElementName name = new ElementName(remote_device_id, "com.huawei.remote_bundle_name", "remote_ability_name"); +want.setElement(name); // Add information about the target FA for startup to the Want instance. +want.setFlags(Want.FLAG_ABILITYSLICE_MULTI_DEVICE); // Set the multi-device startup flag. If this flag is not set, remote FA startup will be unavailable. + +// Start the remote FA on the secondary device. +startAbility(want); // Start the specified FA based on the want parameter. If the name and type of the want parameter are different from those used in the IDE, use the parameter name and type in the IDE. +``` + +- **Prerequisites** + +The target FA with the specified bundle name must have been installed on the secondary device. + +- **Execution** \(taking FA startup as an example\) + +Call the **startAbility** method on the primary device to start the target FA on the secondary device. + +## Repositories Involved + +[Distributed Scheduler subsystem](en-us_topic_0000001115719369.md) + +**[dms\_fwk\_lite](https://gitee.com/openharmony/distributedschedule_services_dtbschedmgr_lite)** + diff --git a/README_zh.md b/README_zh.md new file mode 100755 index 0000000..8084261 --- /dev/null +++ b/README_zh.md @@ -0,0 +1,128 @@ +# 介绍 + +- [简介](#section11660541593) +- [目录](#section1464106163817) +- [约束](#section1718733212019) +- [使用](#section10729231131110) +- [涉及仓](#section176111311166) + +## 简介 + +分布式任务调度模块负责跨设备组件管理,提供访问和控制远程组件的能力,支持分布式场景下的应用协同。分布式调度模块组成如下图所示: + +![](figures/zh-cn_image_0000001081284974.png) + +## 目录 + +分布式任务调度源代码目录结构如下表所示: + +**表1 **主要源代码目录结构 + + + + + + + + + + + + + +

名称

+

描述

+

dmsfwk_lite

+

分布式任务调度实现

+

safwk_lite

+

foundation进程实现

+
+ +其中轻量级分布式任务调度的源代码目录结构如下: + +``` +├── BUILD.gn +├── include +│ ├── distributed_schedule_service.h # 分布式调度对外接口 +│ ├── dmslite_check_remote_permission.h # 分布式调度权限管理模块 +│ ├── dmslite_famgr.h # 分布式调度FA管理模块 +│ ├── dmslite_inner_common.h # 分布式调度内部通用文件 +│ ├── dmslite.h # 分布式调度服务实现 +│ ├── dmslite_log.h # 日志模块 +│ ├── dmslite_msg_parser.h # 分布式消息解析模块 +│ ├── dmslite_tlv_common.h # TLV格式数据解析模块 +│ └── dmslite_session.h # 跨设备通信收发模块 +├── readme.md +├── LICENSE +├── source + ├── distributed_schedule_service.c + ├── dmslite.c + ├── dmslite_check_remote_permission.c + ├── dmslite_famgr.c + ├── dmslite_msg_parser.c + ├── dmslite_tlv_common.c + └── dmslite_session.c +``` + +## 约束 + +**语言限制**:C/C++语言 + +**组网环境**:必须确保设备在同一个局域网中,主从设备能互相ping通 + +**操作系统限制**:OpenHarmony操作系统 + +**远程启动的约束与限制:** + +- 支持远程启动FA,不支持远程启动SA +- 远程启动前必须确保主设备与从设备间分布式组网成功,否则无法远程启动 + +## 使用 + +- **分布式任务调度模块编译** + +分布式任务调度模块,其代码所在目录如下: + +``` +foundation/distributedschedule/dmsfwk_lite +``` + +在针对不同平台进行编译时,需要提前指定目标平台: + +``` +hb build +``` + +- **主设备程序开发**(以拉起FA为例) + +构造意图参数want,设置需要启动的远端设备ID,包名,元能力类名信息,以及分布式标志位Want.FLAG\_ABILITYSLICE\_MULTI\_DEVICE以使能分布式启动 + +``` +import ohos.aafwk.ability.Ability; +import ohos.aafwk.content.Want; +import ohos.bundle.ElementName; + +// 构造want参数 +Want want = new Want(); +ElementName name = new ElementName(remote_device_id, "com.huawei.remote_bundle_name", "remote_ability_name"); +want.setElement(name); // 将待启动的FA信息添加到Want中 +want.setFlags(Want.FLAG_ABILITYSLICE_MULTI_DEVICE); // 设置分布式标记,若不设置将无法使用分布式能力 + +// 启动远程设备FA +startAbility(want); // 按照Want启动指定FA,want参数命名以实际开发平台API为准 +``` + +- **预置条件** + +从设备侧需安装对应包名的FA + +- **运行**(以拉起FA为例) + +执行主设备侧的startAbility即可拉起从设备FA + +## 涉及仓 + +**[分布式任务调度子系统](zh-cn_topic_0000001115719369.md)** + +[dms\_fwk\_lite](https://gitee.com/openharmony/distributedschedule_services_dtbschedmgr_lite) + diff --git a/figures/en-us_image_0000001081284974.png b/figures/en-us_image_0000001081284974.png new file mode 100755 index 0000000000000000000000000000000000000000..62318c44f4eaa6603d911485748dcc008242038f GIT binary patch literal 121225 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

$o+rTHnA}#t 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 NFJ8Hjb>8aH{|9znHWmN? literal 0 HcmV?d00001 diff --git a/figures/zh-cn_image_0000001081284974.png b/figures/zh-cn_image_0000001081284974.png new file mode 100755 index 0000000000000000000000000000000000000000..e1732f4dd9bb12a8abf040fba4b92dafab7df01e GIT binary patch literal 66647 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 + EXPECT_EQ(errCode, DMS_TLV_SUCCESS); + EXPECT_EQ(msg->commandId, 0); + EXPECT_EQ(string(msg->calleeBundleName), "com.huawei.launcher"); + EXPECT_EQ(string(msg->calleeAbilityName), "MainAbility"); + EXPECT_EQ(string(msg->callerSignature), "publickey"); + }; + + RunTest(buffer, sizeof(buffer), onTlvParseDone, nullptr); +} + +/** + * @tc.name: NormalPackageWithLongBundleName + * @tc.desc: normal package with 255 bytes long(upper boundary) bundle name + * @tc.type: FUNC + * @tc.require: AR000ENCTK + */ + +HWTEST_F(TlvParseTest, NormalPackage_002, TestSize.Level0) { + uint8_t buffer[] = { + 0x01, 0x01, 0x00, 0x02, 0x82, 0x00, 0x63, 0x6f, 0x6d, 0x2e, 0x61, + 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, + 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, + 0x78, 0x79, 0x7a, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, + 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, + 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x61, 0x62, 0x63, 0x64, + 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, + 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, + 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, + 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, + 0x57, 0x58, 0x59, 0x5a, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, + 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, + 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x41, 0x42, 0x43, + 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, + 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, + 0x5a, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, + 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, + 0x76, 0x77, 0x78, 0x79, 0x7a, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, + 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, + 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x61, 0x62, + 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, + 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, + 0x79, 0x7a, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, + 0x4a, 0x2e, 0x68, 0x75, 0x61, 0x77, 0x65, 0x69, 0x00, 0x03, 0x0c, + 0x4d, 0x61, 0x69, 0x6e, 0x41, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x00, 0x04, 0x0a, 0x70, 0x75, 0x62, 0x6C, 0x69, 0x63, 0x6B, 0x65, + 0x79, 0x00 + }; + + auto onTlvParseDone = [] (int8_t errCode, const void *dmsMsg) { + const TlvDmsMsgInfo *msg = reinterpret_cast(dmsMsg); + EXPECT_EQ(errCode, DMS_TLV_SUCCESS); + std::stringstream ss; + ss << "com."; + for (int8_t i = 0; i < 4; i++) { + ss << "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; + } + ss << "abcdefghijklmnopqrstuvwxyzABCDEFGHIJ"; + ss << ".huawei"; + EXPECT_EQ(msg->commandId, 0); + EXPECT_EQ(string(msg->calleeBundleName), ss.str()); + EXPECT_EQ(string(msg->calleeAbilityName), "MainAbility"); + EXPECT_EQ(string(msg->callerSignature), "publickey"); + }; + + RunTest(buffer, sizeof(buffer), onTlvParseDone, nullptr); +} + +/** + * @tc.name: AbnormalPackageOutOfOrder_001 + * @tc.desc: abnormal package with node type sequence in disorder + * @tc.type: FUNC + * @tc.require: AR000ELTIG + */ +HWTEST_F(TlvParseTest, AbnormalPackageOutOfOrder_001, TestSize.Level0) { + uint8_t buffer[] = { + 0x02, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x68, 0x75, 0x61, 0x77, + 0x65, 0x69, 0x2e, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x65, + 0x72, 0x01, 0x01, 0x00, 0x00, 0x03, 0x0d, 0x4d, 0x61, 0x69, + 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x00 + }; + + auto onTlvParseDone = [] (int8_t errCode, const void *dmsMsg) { + EXPECT_EQ(errCode, DMS_TLV_ERR_OUT_OF_ORDER); + }; + + RunTest(buffer, sizeof(buffer), onTlvParseDone, nullptr); +} + +/** + * @tc.name: AbnormalPackageOutOfOrder_002 + * @tc.desc: abnormal package with node type sequence in non-continuous order + * @tc.type: FUNC + * @tc.require: SR000DRR3L + */ +HWTEST_F(TlvParseTest, AbnormalPackageOutOfOrder_002, TestSize.Level0) { + uint8_t buffer[] = { + 0x01, 0x01, 0x00, 0x02, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x68, + 0x75, 0x61, 0x77, 0x65, 0x69, 0x2e, 0x6c, 0x61, 0x75, 0x6e, + 0x63, 0x68, 0x65, 0x72, 0x04, 0x00, 0x04, 0x6d, 0x80, 0xff, + 0x00 + }; + + auto onTlvParseDone = [] (int8_t errCode, const void *dmsMsg) { + EXPECT_EQ(errCode, DMS_TLV_ERR_OUT_OF_ORDER); + }; + + RunTest(buffer, sizeof(buffer), onTlvParseDone, nullptr); +} + +/** + * @tc.name: AbnormalPackageBadNodeNum_001 + * @tc.desc: abnormal package without node + * @tc.type: FUNC + * @tc.require: AR000E0DGE + */ +HWTEST_F(TlvParseTest, AbnormalPackageBadNodeNum_001, TestSize.Level0) { + uint8_t buffer[] = { }; + + auto onTlvParseDone = [] (int8_t errCode, const void *dmsMsg) { + EXPECT_EQ(errCode, DMS_TLV_ERR_LEN); + }; + + RunTest(buffer, sizeof(buffer), onTlvParseDone, nullptr); +} + +/** + * @tc.name: AbnormalPackageBadNodeNum_002 + * @tc.desc: abnormal package with only one mandatory node + * @tc.type: FUNC + * @tc.require: AR000E0DE5 + */ +HWTEST_F(TlvParseTest, AbnormalPackageBadNodeNum_002, TestSize.Level0) { + uint8_t buffer[] = { + 0x01, 0x01, 0x00, + }; + + auto onTlvParseDone = [] (int8_t errCode, const void *dmsMsg) { + EXPECT_EQ(errCode, DMS_TLV_ERR_BAD_NODE_NUM); + }; + + RunTest(buffer, sizeof(buffer), onTlvParseDone, nullptr); +} + +/** + * @tc.name: AbnormalPackageBadNodeNum_003 + * @tc.desc: abnormal package with only two mandatory nodes + * @tc.type: FUNC + * @tc.require: AR000E0DE0 + */ +HWTEST_F(TlvParseTest, AbnormalPackageBadNodeNum_003, TestSize.Level0) { + uint8_t buffer[] = { + 0x01, 0x01, 0x00, 0x02, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x68, + 0x75, 0x61, 0x77, 0x65, 0x69, 0x2e, 0x6c, 0x61, 0x75, 0x6e, + 0x63, 0x68, 0x65, 0x72, 0x00 + }; + + auto onTlvParseDone = [] (int8_t errCode, const void *dmsMsg) { + EXPECT_EQ(errCode, DMS_TLV_ERR_BAD_NODE_NUM); + }; + + RunTest(buffer, sizeof(buffer), onTlvParseDone, nullptr); +} + +/** + * @tc.name: AbnormalPackageBadNodeNum_004 + * @tc.desc: abnormal package with only three mandatory nodes + * @tc.type: FUNC + * @tc.require: AR000DSCRF + */ +HWTEST_F(TlvParseTest, AbnormalPackageBadNodeNum_004, TestSize.Level0) { + uint8_t buffer[] = { + 0x01, 0x01, 0x00, 0x02, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x68, + 0x75, 0x61, 0x77, 0x65, 0x69, 0x2e, 0x6c, 0x61, 0x75, 0x6e, + 0x63, 0x68, 0x65, 0x72, 0x00, 0x03, 0x0d, 0x4d, 0x61, 0x69, + 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x00 + }; + + auto onTlvParseDone = [] (int8_t errCode, const void *dmsMsg) { + EXPECT_EQ(errCode, DMS_TLV_ERR_BAD_NODE_NUM); + }; + + RunTest(buffer, sizeof(buffer), onTlvParseDone, nullptr); +} + +/** + * @tc.name: AbnormalPackageBadNodeNum_005 + * @tc.desc: abnormal package with an additional node + * @tc.type: FUNC + * @tc.require: AR000DSCRB + */ +HWTEST_F(TlvParseTest, AbnormalPackageBadNodeNum_005, TestSize.Level0) { + uint8_t buffer[] = { + 0x01, 0x01, 0x00, 0x02, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x68, + 0x75, 0x61, 0x77, 0x65, 0x69, 0x2e, 0x6c, 0x61, 0x75, 0x6e, + 0x63, 0x68, 0x65, 0x72, 0x00, 0x03, 0x0d, 0x4d, 0x61, 0x69, + 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x00, + 0x04, 0x0a, 0x70, 0x75, 0x62, 0x6C, 0x69, 0x63, 0x6B, 0x65, + 0x79, 0x00, 0x05, 0x01, 0x00 + }; + + auto onTlvParseDone = [] (int8_t errCode, const void *dmsMsg) { + EXPECT_EQ(errCode, DMS_TLV_ERR_BAD_NODE_NUM); + }; + + RunTest(buffer, sizeof(buffer), onTlvParseDone, nullptr); +} + +/** + * @tc.name: AbnormalPackageBadLength_001 + * @tc.desc: abnormal package tlv node without value + * @tc.type: FUNC + * @tc.require: SR000E0DR9 + */ +HWTEST_F(TlvParseTest, AbnormalPackageBadLength_001, TestSize.Level0) { + uint8_t buffer[] = { + 0x01, 0x01 + }; + + auto onTlvParseDone = [] (int8_t errCode, const void *dmsMsg) { + EXPECT_EQ(errCode, DMS_TLV_ERR_LEN); + }; + + RunTest(buffer, sizeof(buffer), onTlvParseDone, nullptr); +} + +/** + * @tc.name: AbnormalPackageBadLength_002 + * @tc.desc: abnormal package tlv node with zero-size length + * @tc.type: FUNC + * @tc.require: AR000E0ECR + */ +HWTEST_F(TlvParseTest, AbnormalPackageBadLength_002, TestSize.Level0) { + uint8_t buffer[] = { + 0x01, 0x01, 0x00, 0x02, 0x00, 0x03, 0x0d, 0x4d, 0x61, 0x69, + 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x00, + 0x04, 0x0a, 0x70, 0x75, 0x62, 0x6C, 0x69, 0x63, 0x6B, 0x65, + 0x79, 0x00 + }; + + auto onTlvParseDone = [] (int8_t errCode, const void *dmsMsg) { + EXPECT_EQ(errCode, DMS_TLV_ERR_LEN); + }; + + RunTest(buffer, sizeof(buffer), onTlvParseDone, nullptr); +} + +/** + * @tc.name: AbnormalPackageBadLength_003 + * @tc.desc: abnormal package with mismatched buffer size + * @tc.type: FUNC + * @tc.require: AR000E0DE0 + */ +HWTEST_F(TlvParseTest, AbnormalPackageBadLength_003, TestSize.Level0) { + uint8_t buffer[] = { + 0x01, 0x01, 0x00, 0x02, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x68, + 0x75, 0x61, 0x77, 0x65, 0x69, 0x2e, 0x6c, 0x61, 0x75, 0x6e, + 0x63, 0x68, 0x65, 0x72, 0x00, 0x03, 0x0d, 0x4d, 0x61, 0x69, + 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x00, + 0x04, 0x0a, 0x70, 0x75, 0x62, 0x6C, 0x69, 0x63, 0x6B, 0x65, + 0x79, 0x00 + }; + + auto onTlvParseDone = [] (int8_t errCode, const void *dmsMsg) { + EXPECT_EQ(errCode, DMS_TLV_ERR_LEN); + }; + + RunTest(buffer, sizeof(buffer) + 1, onTlvParseDone, nullptr); +} + +/** + * @tc.name: AbnormalPackageBadLength_004 + * @tc.desc: abnormal package with mismatched buffer size + * @tc.type: FUNC + * @tc.require: AR000E0DE0 + */ +HWTEST_F(TlvParseTest, AbnormalPackageBadLength_004, TestSize.Level0) { + uint8_t buffer[] = { + 0x01, 0x01, 0x00, 0x02, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x68, + 0x75, 0x61, 0x77, 0x65, 0x69, 0x2e, 0x6c, 0x61, 0x75, 0x6e, + 0x63, 0x68, 0x65, 0x72, 0x00, 0x03, 0x0d, 0x4d, 0x61, 0x69, + 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x00, + 0x04, 0x0a, 0x70, 0x75, 0x62, 0x6C, 0x69, 0x63, 0x6B, 0x65, + 0x79, 0x00 + }; + + auto onTlvParseDone = [] (int8_t errCode, const void *dmsMsg) { + EXPECT_EQ(errCode, DMS_TLV_ERR_LEN); + }; + + RunTest(buffer, sizeof(buffer) - 1, onTlvParseDone, nullptr); +} + +/** + * @tc.name: AbnormalPackageBadLength_005 + * @tc.desc: abnormal package with mismatched buffer size + * @tc.type: FUNC + * @tc.require: AR000E0DE0 + */ +HWTEST_F(TlvParseTest, AbnormalPackageBadLength_005, TestSize.Level0) { + uint8_t buffer[] = { + 0x01, 0x01, 0x00, 0x02, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x68, + 0x75, 0x61, 0x77, 0x65, 0x69, 0x2e, 0x6c, 0x61, 0x75, 0x6e, + 0x63, 0x68, 0x65, 0x72, 0x00, 0x03, 0x0d, 0x4d, 0x61, 0x69, + 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x00, + 0x04, 0x0a, 0x70, 0x75, 0x62, 0x6C, 0x69, 0x63, 0x6B, 0x65, + 0x79, 0x00 + }; + + auto onTlvParseDone = [] (int8_t errCode, const void *dmsMsg) { + bool condition = (errCode == DMS_TLV_ERR_LEN + || errCode == DMS_TLV_ERR_BAD_NODE_NUM); + EXPECT_EQ(true, condition); + }; + + RunTest(buffer, MAX_DMS_MSG_LENGTH, onTlvParseDone, nullptr); +} + +/** + * @tc.name: AbnormalPackageBadLength_006 + * @tc.desc: abnormal package with mismatched buffer size + * @tc.type: FUNC + * @tc.require: AR000E0DE0 + */ +HWTEST_F(TlvParseTest, AbnormalPackageBadLength_006, TestSize.Level0) { + uint8_t buffer[] = { + 0x01, 0x01, 0x00, 0x02, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x68, + 0x75, 0x61, 0x77, 0x65, 0x69, 0x2e, 0x6c, 0x61, 0x75, 0x6e, + 0x63, 0x68, 0x65, 0x72, 0x00, 0x03, 0x0d, 0x4d, 0x61, 0x69, + 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x00, + 0x04, 0x0a, 0x70, 0x75, 0x62, 0x6C, 0x69, 0x63, 0x6B, 0x65, + 0x79, 0x00 + }; + + auto onTlvParseDone = [] (int8_t errCode, const void *dmsMsg) { + EXPECT_EQ(errCode, DMS_TLV_ERR_LEN); + }; + + RunTest(buffer, 0, onTlvParseDone, nullptr); +} + +/** + * @tc.name: AbnormalPackageBadSource_001 + * @tc.desc: abnormal package string field with no '\0' in the ending + * @tc.type: FUNC + * @tc.require: AR000E0DE0 + */ +HWTEST_F(TlvParseTest, AbnormalPackageBadSource_001, TestSize.Level0) { + uint8_t buffer[] = { + 0x01, 0x01, 0x00, 0x02, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x68, + 0x75, 0x61, 0x77, 0x65, 0x69, 0x2e, 0x6c, 0x61, 0x75, 0x6e, + 0x63, 0x68, 0x65, 0x72, 0xff, 0x03, 0x0d, 0x4d, 0x61, 0x69, + 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0xff, + 0x04, 0x0a, 0x70, 0x75, 0x62, 0x6C, 0x69, 0x63, 0x6B, 0x65, + 0x79, 0xff + }; + + auto onTlvParseDone = [] (int8_t errCode, const void *dmsMsg) { + EXPECT_EQ(errCode, DMS_TLV_ERR_BAD_SOURCE); + }; + + RunTest(buffer, sizeof(buffer), onTlvParseDone, nullptr); +} +} +} diff --git a/readme.md b/readme.md deleted file mode 100755 index 380029c..0000000 --- a/readme.md +++ /dev/null @@ -1,3 +0,0 @@ -详见:https://gitee.com/openharmony/docs/blob/master/readme/分布式任务调度子系统README.md - -see: https://gitee.com/openharmony/docs/blob/master/docs-en/readme/distributed-scheduler.md \ No newline at end of file diff --git a/source/distributed_schedule_service.c b/source/distributed_schedule_service.c index 82ebddc..c606f3c 100755 --- a/source/distributed_schedule_service.c +++ b/source/distributed_schedule_service.c @@ -15,8 +15,6 @@ #include "distributed_schedule_service.h" -#include - #include "distributed_service_interface.h" #include "dmslite_log.h" @@ -54,7 +52,6 @@ static BOOL Initialize(Service *service, Identity identity) } ((DistributedService*) service)->identity = identity; - (void) pthread_setname_np(pthread_self(), DISTRIBUTED_SCHEDULE_SERVICE); return TRUE; } @@ -82,7 +79,7 @@ static TaskConfig GetTaskConfig(Service *service) static void Init() { - SAMGR_GetInstance()->RegisterService((Service *)&g_distributedService); - HILOGD("[dms service start success]"); + BOOL result = SAMGR_GetInstance()->RegisterService((Service *)&g_distributedService); + HILOGI("[dms service start %s]", result ? "success" : "failed"); } SYS_SERVICE_INIT(Init); diff --git a/source/dmslite.c b/source/dmslite.c index 734dbfb..88e8e23 100755 --- a/source/dmslite.c +++ b/source/dmslite.c @@ -15,8 +15,6 @@ #include "dmslite.h" -#include - #include "dmslite_log.h" #include "dmslite_msg_parser.h" #include "dmslite_session.h" @@ -122,7 +120,15 @@ static void OnPublishFail(int32_t publishId, PublishFailReason reason) static void Init() { - SAMGR_GetInstance()->RegisterFeature(DISTRIBUTED_SCHEDULE_SERVICE, (Feature*) &g_dmslite); - SAMGR_GetInstance()->RegisterFeatureApi(DISTRIBUTED_SCHEDULE_SERVICE, DMSLITE_FEATURE, GET_IUNKNOWN(g_dmslite)); + BOOL result = SAMGR_GetInstance()->RegisterFeature(DISTRIBUTED_SCHEDULE_SERVICE, (Feature*) &g_dmslite); + if (!result) { + HILOGE("[dms register feature failed]"); + } + + result = SAMGR_GetInstance()->RegisterFeatureApi(DISTRIBUTED_SCHEDULE_SERVICE, + DMSLITE_FEATURE, GET_IUNKNOWN(g_dmslite)); + if (!result) { + HILOGE("[dms register feature api failed]"); + } } SYS_FEATURE_INIT(Init); diff --git a/source/dmslite_session.c b/source/dmslite_session.c index 59d4ed0..fed0fa5 100755 --- a/source/dmslite_session.c +++ b/source/dmslite_session.c @@ -25,7 +25,7 @@ #include "ohos_errno.h" #include "session.h" -#define DMS_SESSION_NAME "dms" +#define DMS_SESSION_NAME "com.huawei.harmonyos.foundation.dms" #define DMS_MODULE_NAME "dms" #define ACCEPT_SESSION_OPEN 0 diff --git a/source/dmslite_tlv_common.c b/source/dmslite_tlv_common.c old mode 100755 new mode 100644