Commit Graph

113 Commits

Author SHA1 Message Date
denganliang 382f8fe2e7 feat: support languageEnv for jsheap snapshot dump with UT coverage
Add languageEnv parameter (dynamic/static/hybrid) for JsHeap snapshot dump,
enabling ETS runtime to also dump heap snapshots. Remove JS-only restriction
on snapshot dump path. Add UT coverage for all branches.

Co-Authored-By: Agent
Signed-off-by: denganliang <denganliang3@h-partners.com>
Change-Id: I9784465f1def0d74165d3d1804a36a9b489fe0e0
2026-06-22 19:50:31 +08:00
blueCodeBaixue 60a3c2c172 Appfreeze增加GC和io信息
Co-Authored-By: Agent
Signed-off-by: blueCodeBaixue <baixue64@h-partners.com>
2026-06-04 21:46:43 +08:00
liuzhenxiong d861a194eb feat: 新增ARKWEB_V8内存dump类型并扩展MemDumpInfo参数
新增内容:
1. MemDumpType枚举新增ARKWEB_V8类型(值为4)
2. MemDumpInfo结构体新增参数:
   - uint32_t renderPid(渲染进程ID)
   - bool needDump(默认值true)
   - bool needGc(默认值false)
3. 实现DumpArkwebV8Heap方法(参考KMP_KOTLIN实现)
4. 更新序列化/反序列化逻辑以支持新增参数
5. 补充测试用例:
   - DumpMem_0400(验证ARKWEB_V8类型)
   - DumpHeapSnapshot系列测试(覆盖参数组合和边界值)

修改文件:
- app_mem_dump_info.h/cpp(结构体定义和序列化)
- dump_runtime_helper.h/cpp(dump实现)
- 相关测试文件

Signed-off-by: liuzhenxiong <liuzhenxiong@huawei.com>
2026-05-07 21:51:23 +08:00
openharmony_ci 6ee55360b5 !18772 merge master into master
hidumper support merge jsheap raw file

Created-by: LiuZX1997
Commit-by: liuzhenxiong
Merged-by: openharmony_ci
Description: **IssueNo**:
https://gitcode.com/openharmony/hiviewdfx_hidumper/issues/555

**Description**:

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              |          |
| 成员变量进行赋值或创建需要排查并发                               |          |
| 谨慎在lambda表达式中使用引用捕获                                |          |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |          |
| map\vector\list\set等stl模板类使用时需要排查并发                |          |
| 谨慎考虑加锁范围                                               |          |
| 在IPC通信中谨慎使用同步通信方式                                 |          |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |          |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |          |
| 禁止多个独立创建的智能指针管理同一地址                           |          |
| 禁止在析构函数中抛异步任务                                      |          |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             |          |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |          |
| 禁止接口返回局部变量引用                                        |          |
| 禁止在信号函数中加锁                                            |          |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |          |
| 禁止将同一个cpp编译在不同的so中                                 |          |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 |          |
| json对象在取值之前必须先判断类型,避免类型不匹配                   |          |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              |          |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |          |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 |          |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |          |
| readParcelable获取的对象使用前需要判空                            |          |
| 分配和释放内存的函数需要成对出现                                   |          |
| 申请内存后异常退出前需要及时进行内存释放                            |          |
| 内存申请前必须对内存大小进行合法性校验                              |          |
| 内存分配后必须判断是否成功                                         |          |
| 禁止使用realloc、alloca函数                                       |          |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |          |
| 禁止打印内存地址                                                  |          |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |          |
| 禁止对有符号整数进行位操作符运算                                    |          |
| 禁止对指针进行逻辑或位运算                                         |          |
| 循环次数如果收外部数据控制,需要检验其合法性                         |          |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |          |
| 谨慎使用不可重入函数                                               |          |
| 必须检查安全函数的返回值,并进行正确处理                             |          |
| 禁止仅通过TokenType类型判断绕过权限校验                             |          |

**TDD Result**:

**XTS Result**:

### 是否已执行L0用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!18772
2026-04-03 15:51:40 +08:00
RuiChen_01 dce818aed0 fix bug
Signed-off-by: RuiChen_01 <chenrui193@huawei.com>
2026-04-02 16:08:49 +08:00
liuzhenxiong 47d34d09bf hidumper support merge jsheap raw file
Signed-off-by: liuzhenxiong <liuzhenxiong@huawei.com>
2026-03-28 11:23:14 +08:00
任国军 c85309fbba add SetOrUpdateLibPath
Signed-off-by: 任国军 <renguojun1@h-partners.com>
2026-03-17 16:36:34 +08:00
denganliang f21603a146 add UT,hidumper支持dumper后的节点清理能力
Signed-off-by:denganliang<denganliang3@h-partners.com>
2026-03-04 09:09:55 +08:00
openharmony_ci 7ef8ee0962 !17136 merge inittdd into master
init tdd

Created-by: zexin_c
Commit-by: zexin_c
Merged-by: openharmony_ci
Description: **IssueNo**:

**Description**:

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              | pass         |
| 成员变量进行赋值或创建需要排查并发                               |    pass      |
| 谨慎在lambda表达式中使用引用捕获                                |    pass      |
| 谨慎在未经拷贝的情况下使用外部传入的string、C字符串               |    pass      |
| map\vector\list\set等stl模板类使用时需要排查并发                |  pass        |
| 谨慎考虑加锁范围                                               |      pass    |
| 在IPC通信中谨慎使用同步通信方式                                 |    pass      |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        |  pass        |
| 禁止将外部传入的裸指针在内部直接构造智能指针                      |  pass        |
| 禁止多个独立创建的智能指针管理同一地址                           |  pass        |
| 禁止在析构函数中抛异步任务                                      |     pass     |
| 禁止js对象在非js线程(例如在IPC线程)创建、使用或销毁             | pass         |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    |   pass       |
| 禁止接口返回局部变量引用                                        |       pass   |
| 禁止在信号函数中加锁                                            |      pass    |
| 禁止在关键流程(SA启动、应用启动等主流程)执行耗时的操作           |  pass        |
| 禁止将同一个cpp编译在不同的so中                                 |  pass        |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 裸指针避免通过隐式转换构造为sptr                                 |  pass        |
| json对象在取值之前必须先判断类型,避免类型不匹配                   | pass         |
| 序列化时必须对传入的数组大小进行校验,避免出现超大数组              | pass         |
| 避免使用未明确位宽的整型,选择使用int8_t、uint8_t等类型            |  pass        |
| 外部传入的路径要做规范化校验,对路径中的.、..、../等特殊字符严格校验 | pass         |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  |    pass      |
| readParcelable获取的对象使用前需要判空                            |   pass       |
| 分配和释放内存的函数需要成对出现                                   |pass          |
| 申请内存后异常退出前需要及时进行内存释放                            |    pass      |
| 内存申请前必须对内存大小进行合法性校验                              |    pass      |
| 内存分配后必须判断是否成功                                         |  pass        |
| 禁止使用realloc、alloca函数                                       | pass         |
| 禁止打印文件路径、口令等敏感信息,如有需要,使用private修饰          |    pass      |
| 禁止打印内存地址                                                  |   pass       |
| 整数之间运算时必须严格检查,确保不会出现溢出、反转、除0               |  pass        |
| 禁止对有符号整数进行位操作符运算                                    | pass         |
| 禁止对指针进行逻辑或位运算                                         |   pass       |
| 循环次数如果收外部数据控制,需要检验其合法性                         |   pass       |
| 禁止使用内存操作类危险函数,需要使用安全函数                         |  pass        |
| 谨慎使用不可重入函数                                               |    pass      |
| 必须检查安全函数的返回值,并进行正确处理                             |pass          |
| 禁止仅通过TokenType类型判断绕过权限校验                             |pass          |

**TDD Result**:
![image.png](https://raw.gitcode.com/user-images/assets/4421702/bfc9380a-35d2-4ba2-b25e-538a531b64c1/image.png 'image.png')
**XTS Result**:
不涉及
### 是否已执行L0用例
- [ ] 已验证
- [x] 不涉及。如不涉及,请写明理由
仅添加用例


See merge request: openharmony/ability_ability_runtime!17136
2025-10-21 12:03:58 +08:00
zexin_c 6569e5474a init tdd
Signed-off-by: zexin_c <chenzexin14@huawei.com>
2025-10-20 17:02:13 +08:00
acdemicJava 620f16baf7 add application info
Signed-off-by: acdemicJava <yinhuiling@h-partners.com>
2025-10-09 16:55:24 +08:00
yang.yang 024c9e42b4 add tdd interface cover
Signed-off-by: yang.yang <hy05190134@qq.com>
Change-Id: I7167d7bdf29b9e147f4aa500cf4a14403fe532e2
2025-08-06 15:14:08 +08:00
yang.yang e8d6a9ff49 add tdd interface cover
Signed-off-by: yang.yang <hy05190134@qq.com>
Change-Id: Ic05df7553949c7341d29b56cb5caf401592a31d1
2025-08-05 16:05:49 +08:00
s30030188 d6aa1440d0 解决context转换失败问题
Signed-off-by: s30030188 <songjindian1@h-partners.com>
2025-07-26 16:53:18 +08:00
hanchenZz 3e977028c2 TDD修复,js_runtime_test测试套crash问题
Signed-off-by: hanchenZz <wanghanchen1@huawei.com>
2025-07-09 11:04:23 +08:00
zhangzezhong 9c410830d7 preload
Signed-off-by: zhangzezhong <zhangzezhong8@huawei-partners.com>
2025-07-04 09:49:55 +08:00
songjindian 31e926f847 应用版本号透传
Signed-off-by: songjindian <songjindian1@huawei.com>
2025-06-13 09:52:02 +08:00
songjindian e39a7e0b13 oom add tdd
Signed-off-by: songjindian <songjindian1@huawei.com>
2025-05-23 16:49:42 +08:00
zhangyafei.echo 3c69b0d5a0 Description:add insight intent utils.
Sig:SIG_ApplicationFramework
Feature or BugFix: Feature
Binary Source: No

Signed-off-by: zhangyafei.echo <zhangyafei12@huawei.com>
Change-Id: I1adf1837ac49cdde126cba0aa02b242e4ac0600a
2025-05-14 20:26:58 +08:00
zhangzezhong 309bfe2dfe add JsRuntime unittest cases for ability_runtime
Signed-off-by: zhangzezhong <zhangzezhong8@huawei-partners.com>
2025-04-29 19:56:52 +08:00
openharmony_ci 184be47086 !13495 修复及增加ability_manager_client 用例 js_runtime 用例
Merge pull request !13495 from chenliming/master
2025-04-01 02:31:48 +00:00
chenliming bcf181eb2d 修复及增加ability_manager_client 用例 js_runtime 用例
Signed-off-by: chenliming <chenliming20@huawei-partners.com>
2025-03-31 18:50:03 +08:00
huangshiwei 287331f590 huangshiwei4@hauwei.com
Signed-off-by: huangshiwei <huangshiwei4@huawei.com>
2025-03-31 10:14:46 +08:00
songjindian 24000a80ce tdd补充
Signed-off-by: songjindian <songjindian1@huawei.com>
2025-03-22 15:37:07 +08:00
chenliming e4f85aa2a7 ability_runtime tdd接口覆盖
Signed-off-by: chenliming <chenliming20@huawei-partners.com>
2025-03-04 17:28:20 +08:00
chenliming 130674edd0 update test/unittest/runtime_test/js_runtime_test.cpp.
Signed-off-by: chenliming <chenliming20@huawei-partners.com>
2025-02-26 07:33:50 +00:00
chenliming 79a121e9d2 tdd补充以及js_runtime_test tdd crush修复
Signed-off-by: chenliming <chenliming20@huawei-partners.com>
2025-02-26 15:26:29 +08:00
openharmony_ci 2b86cd7a48 !12727 js_runtime_test tdd用例修复
Merge pull request !12727 from chenliming/master
2025-02-22 02:29:54 +00:00
openharmony_ci 3291ea38a5 !12614 get js rawheap file
Merge pull request !12614 from huhao6/master
2025-02-20 12:21:20 +00:00
chenliming eaf7dd6fb9 update test/unittest/runtime_test/js_runtime_test.cpp.
Signed-off-by: chenliming <chenliming20@huawei-partners.com>
2025-02-20 09:23:30 +00:00
chenliming 54045d4d71 js_runtime_test tdd用例修复
Signed-off-by: chenliming <chenliming20@huawei-partners.com>
2025-02-20 16:51:56 +08:00
huhao6 cda47ac131 get js rawheap file
Signed-off-by: huhao6 <huhao74@huawei.com>
2025-02-18 09:00:59 +08:00
wlh2624 2844291b0a runtime接口整改
Signed-off-by: wlh2624 <1968860844@qq.com>
Change-Id: I9b989c7734bbe9283e9fc2996b1661c8d1b5b6cb
2025-02-15 15:28:18 +08:00
chenliming 002d1e5aef Js_Runtime AbilityContext Ability_Manager_client tdd 补充
Signed-off-by: chenliming <chenliming20@huawei-partners.com>
2025-02-13 15:10:41 +08:00
rentangyu cf6ef66ec3 远程hsp栈解析失败
issue:https://gitee.com/openharmony/ability_ability_runtime/issues/IBJMWD

Signed-off-by: rentangyu <rentangyu@huawei.com>
2025-02-11 20:59:17 +08:00
孙旭辉 fc8ddcdc46 description:修改tdd用例
Signed-off-by: 孙旭辉 <sunxuhui7@huawei.com>
2025-01-21 23:15:20 +08:00
huangshiwei 867e3983ae huangshiwei4@huawei.com
Signed-off-by: huangshiwei <huangshiwei4@huawei.com>
2025-01-15 09:13:03 +08:00
18710539902 81ae6ac110 add tdd
Signed-off-by: 18710539902 <sunxuhui7@huawei.com>
2024-12-03 19:56:03 +08:00
XKK 570179dd1f 子线程传递语境信息表
Signed-off-by: XKK <huyingsong@huawei.com>
2024-09-10 15:37:30 +08:00
帝俊 5db15e3609 0905 Signed-off-by: 帝俊 <yexinjie@huawei.com> 2024-09-05 11:03:49 +08:00
wangzhen b835e6c641 Add background condition for force-gc
Signed-off-by: wangzhen <wangzhen346@huawei.com>
2024-08-22 21:22:55 +08:00
tantingting a5d632e1a9 update code diff
Signed-off-by: tantingting <tantingting5@huawei.com>
2024-07-30 16:39:27 +08:00
songjindian 7be5d02696 代码同步第二笔
Signed-off-by: songjindian <songjindian1@huawei.com>
2024-07-22 20:58:16 +08:00
tantingting 049a03afe2 add tdd code
Signed-off-by: tantingting <tantingting5@huawei.com>
2024-07-19 17:02:28 +08:00
openharmony_ci df7750d8c0 !9346 fix ability tdd crash problem
Merge pull request !9346 from zhubingwei/master
2024-07-12 03:31:19 +00:00
zhubingwei e14bc4b557 Fix tdd crash
Signed-off-by: zhubingwei <zhubingwei@huawei.com>
2024-07-11 15:01:40 +08:00
XKK 6c81404d02 删除老的hilog头文件
Signed-off-by: XKK <huyingsong@huawei.com>
2024-07-10 18:02:24 +08:00
zhanheng 67c7370507 modify heapdump api
Signed-off-by: z00522183 <zhanheng2@huawei.com>
Change-Id: I91c0b1eafb52a61ea0010eb5e2d5914a89d43319
2024-07-01 14:54:35 +08:00
rentangyu 253935e19d ApplyChanges 支持sourceMap转换
issues:https://gitee.com/openharmony/ability_ability_runtime/issues/IA5ACX

Signed-off-by: rentangyu <rentangyu@huawei.com>
2024-06-14 11:00:11 +08:00
openharmony_ci 8f16431a73 回退 'Pull Request !8571 : jsheap文件落盘至/data/log/hidumper目录' 2024-06-03 03:03:01 +00:00