diff --git a/Test_Result/openEuler_24.03_LTS_SP2/multi_instance_rpmsg.png b/Test_Result/openEuler_24.03_LTS_SP2/multi_instance_rpmsg.png new file mode 100644 index 0000000000000000000000000000000000000000..a0269684a579d39266a24c0a15826bb2862078af Binary files /dev/null and b/Test_Result/openEuler_24.03_LTS_SP2/multi_instance_rpmsg.png differ diff --git a/Test_Result/openEuler_24.03_LTS_SP2/multi_instance_start.png b/Test_Result/openEuler_24.03_LTS_SP2/multi_instance_start.png new file mode 100644 index 0000000000000000000000000000000000000000..2873d34564e14a34c5d8b73aa159d18a89fce26f Binary files /dev/null and b/Test_Result/openEuler_24.03_LTS_SP2/multi_instance_start.png differ diff --git "a/Test_Result/openEuler_24.03_LTS_SP2/openEuler-24.03-LTS-SP2\347\211\210\346\234\254UniProton\347\241\254\345\256\236\346\227\266POSIX\346\216\245\345\217\243\350\241\245\351\275\22055%\347\211\271\346\200\247\346\265\213\350\257\225\346\212\245\345\221\212.md" "b/Test_Result/openEuler_24.03_LTS_SP2/openEuler-24.03-LTS-SP2\347\211\210\346\234\254UniProton\347\241\254\345\256\236\346\227\266POSIX\346\216\245\345\217\243\350\241\245\351\275\22055%\347\211\271\346\200\247\346\265\213\350\257\225\346\212\245\345\221\212.md" new file mode 100644 index 0000000000000000000000000000000000000000..5e02c5a82ff5d80f74717ed5cc10d4ba44086acf --- /dev/null +++ "b/Test_Result/openEuler_24.03_LTS_SP2/openEuler-24.03-LTS-SP2\347\211\210\346\234\254UniProton\347\241\254\345\256\236\346\227\266POSIX\346\216\245\345\217\243\350\241\245\351\275\22055%\347\211\271\346\200\247\346\265\213\350\257\225\346\212\245\345\221\212.md" @@ -0,0 +1,144 @@ +![avatar](../../images/openEuler.png) + + +版权所有 © 2025 openEuler社区 + 您对“本文档”的复制、使用、修改及分发受知识共享(Creative Commons)署名—相同方式共享4.0国际公共许可协议(以下简称“CC BY-SA 4.0”)的约束。为了方便用户理解,您可以通过访问https://creativecommons.org/licenses/by-sa/4.0/ 了解CC BY-SA 4.0的概要 (但不是替代)。CC BY-SA 4.0的完整协议内容您可以访问如下网址获取:https://creativecommons.org/licenses/by-sa/4.0/legalcode。 + +修订记录 + +| 日期 | 修订 版本 | 修改描述 | 作者 | +| --------- | ----------- | ------------------ | ----------- | +| 2025.5.21 | v1.0 | UniProton硬实时POSIX接口补齐55%测试报告 | 赵宏昊 | + +关键词: POSIX + +摘要:在UniProton上对比zephyr实时系统补齐55% POSIX接口,满足上层业务需求。 + + +缩略语清单: + +| 缩略语 | 英文全名 | 中文解释 | +| ------ | -------- | -------- | +| | | | +| | | | + +# 1 特性概述 + +基于POSIX接口定义的功能,在当前UniProton提供的内核功能函数基础上,进行一定的封装、适配,实现POSIX API定义的功能。当前UniProton已支持部分POSIX接口,通过新增信号管理、线程管理、网络管理三类接口,满足接口实现对比zephyr系统补齐55%的要求。 + +# 2 特性测试信息 + +本节描述被测对象的版本信息和测试的时间及测试轮次,包括依赖的硬件。 + +| 版本名称 | 测试起始时间 | 测试结束时间 | +| -------- | ------------ | ------------ | +| UniProton(openEuler-24.03-LTS-SP2) | 2025-5-19 | 2025-5-21 | + +描述特性测试的硬件环境信息 + +| 硬件型号 | 硬件配置信息 | 备注 | +| -------- | ------------ | ---- | +| 专用硬件 | ARMv8-a, CPU核数:4 | | + +# 3 测试结论概述 + +## 3.1 测试整体结论 + +POSIX接口补齐55%特性测试,共计执行349个接口测试用例,主要覆盖了原有的POSIX信号类接口、线程类接口以及网络类接口以及新增的51个接口的功能测试,未发现问题,整体质量良好。 + +| 测试活动 | 测试子项 | 活动评价 | +| ------- | -------- | ------- | +| 功能测试 | 继承特性测试 | 不涉及 | +| 功能测试 | 新增特性测试 | 通过 | +| 兼容性测试 | | 不涉及 | +| DFX专项测试 | 性能测试 | 不涉及 | +| DFX专项测试 | 可靠性/韧性测试 | 不涉及 | +| DFX专项测试 | 安全测试 | 不涉及 | +| 资料测试 | | 不涉及 | +| 其他测试 | | 不涉及 | + +## 3.2 约束说明 + +本特性当前只满足UniProton上,对比zephyr实时系统,POSIX接口实现率达55%,并未实现全部POSIX接口。 + +## 3.3 遗留问题分析 + +不涉及 + +# 4 详细测试结论 + +## 4.1 功能测试 +*开源软件:主要关注开源软件升级后的变动点,继承特性由开源软件自带用例保证(需额外关注软件包提供可执行命令、库、服务功能)* +*社区孵化软件:主要参考以下列表* + +### 4.1.1 继承特性测试结论 + +不涉及 + +### 4.1.2 新增特性测试结论 + +| 序号 | 组件/特性名称 | 特性质量评估 | 备注 | +| --- | ----------- | :--------: | --- | +| 1 | 新增POSIX信号类接口 | | 接口功能用例测试通过 | +| 2 | 新增POSIX线程类接口 | | 接口功能用例测试通过 | +| 3 | 新增POSIX网络类接口 | | 接口功能用例测试通过 | + +: 表示特性不稳定,风险高 +: 表示特性基本可用,遗留少量问题 +: 表示特性质量良好 + +## 4.2 兼容性测试结论 + +不涉及 + +## 4.3 DFX专项测试结论 + +### 4.3.1 性能测试结论 + +不涉及 + +### 4.3.2 可靠性/韧性测试结论 + +不涉及 + +### 4.3.3 安全测试结论 + +不涉及 + +## 4.4 资料测试结论 + +不涉及 + +## 4.5 其他测试结论 + +不涉及 + +# 5 测试执行 + +## 5.1 测试执行统计数据 + +*本节内容根据测试用例及实际执行情况进行特性整体测试的统计,可根据第二章的测试轮次分开进行统计说明。* + +| 版本名称 | 测试用例数 | 用例执行结果 | 发现问题单数 | +| -------- | ---------- | ------------ | ------------ | +| openEuler-24.03-LTS-SP2 | 349 | 通过 | 0 | + +*数据项说明:* + +*测试用例数--到本测试活动结束时,所有可用测试用例数;* + +*发现问题单数--本测试活动总共发现的问题单数。* + +## 5.2 后续测试建议 + +不涉及 + +# 6 附件 + +posix信号类接口、线程类接口以及网络类接口整体测试结果: + +![posix](./posix_test.png) + +posix新增接口测试情况: + +![posix add](./posix_add_interface_test.png) diff --git "a/Test_Result/openEuler_24.03_LTS_SP2/openEuler-24.03-LTS-SP2\347\211\210\346\234\254UniProton\347\241\254\345\256\236\346\227\266\345\244\232\346\240\270\344\270\216\345\244\232\345\256\236\344\276\213\346\224\257\346\214\201\347\211\271\346\200\247\346\265\213\350\257\225\346\212\245\345\221\212.md" "b/Test_Result/openEuler_24.03_LTS_SP2/openEuler-24.03-LTS-SP2\347\211\210\346\234\254UniProton\347\241\254\345\256\236\346\227\266\345\244\232\346\240\270\344\270\216\345\244\232\345\256\236\344\276\213\346\224\257\346\214\201\347\211\271\346\200\247\346\265\213\350\257\225\346\212\245\345\221\212.md" new file mode 100644 index 0000000000000000000000000000000000000000..05d6d03f23f3fa32e5dc0008d81d1b2e0f56ddba --- /dev/null +++ "b/Test_Result/openEuler_24.03_LTS_SP2/openEuler-24.03-LTS-SP2\347\211\210\346\234\254UniProton\347\241\254\345\256\236\346\227\266\345\244\232\346\240\270\344\270\216\345\244\232\345\256\236\344\276\213\346\224\257\346\214\201\347\211\271\346\200\247\346\265\213\350\257\225\346\212\245\345\221\212.md" @@ -0,0 +1,157 @@ +![avatar](../../images/openEuler.png) + + +版权所有 © 2025 openEuler社区 + 您对“本文档”的复制、使用、修改及分发受知识共享(Creative Commons)署名—相同方式共享4.0国际公共许可协议(以下简称“CC BY-SA 4.0”)的约束。为了方便用户理解,您可以通过访问https://creativecommons.org/licenses/by-sa/4.0/ 了解CC BY-SA 4.0的概要 (但不是替代)。CC BY-SA 4.0的完整协议内容您可以访问如下网址获取:https://creativecommons.org/licenses/by-sa/4.0/legalcode。 + +修订记录 + +| 日期 | 修订 版本 | 修改描述 | 作者 | +| --------- | ----------- | ------------------ | ----------- | +| 2025.5.30 | v1.0 | UniProton硬实时多核与多实例支持测试报告 | 赵宏昊 | + +关键词: SMP多核,多实例 + +摘要:UniProton基于SMP机制实现多核运行,包含多核启动、多核任务调度等功能,并基于混合关键性部署和资源表升级实现多实例支持。 + +缩略语清单: + +| 缩略语 | 英文全名 | 中文解释 | +| ------ | -------- | -------- | +| | | | +| | | | + +# 1 特性概述 + +在多核场景下,可通过SMP机制支持UniProton的多核运行,使同一OS实例的多个任务同时在不同核上同时处理。混合关键性部署机制和资源表升级方案则可支持多个OS实例的同时启动与运行。以上特性可显著提升系统的实时性能与并行性能,应用场景广泛。 + +# 2 特性测试信息 + +本节描述被测对象的版本信息和测试的时间及测试轮次,包括依赖的硬件。 + +| 版本名称 | 测试起始时间 | 测试结束时间 | +| -------- | ------------ | ------------ | +| UniProton(openEuler-24.03-LTS-SP2) | 2025-5-26 | 2025-5-30 | + +描述特性测试的硬件环境信息 + +| 硬件型号 | 硬件配置信息 | 备注 | +| -------- | ------------ | ---- | +| 专用硬件 | ARMv8-a, CPU核数:4 | | + +# 3 测试结论概述 + +## 3.1 测试整体结论 + +在同一OS实例上配置SMP多核可正常启动,各核上的任务可同时运行,并正常调度。多实例混合部署后各实例可正常启动并运行,且各实例可成功与非实时侧建立通信。SMP多核与多实例部署可同步实施,测试结果同时满足SMP与多实例要求。 + +| 测试活动 | 测试子项 | 活动评价 | +| ------- | -------- | ------- | +| 功能测试 | 继承特性测试 | 不涉及 | +| 功能测试 | 新增特性测试 | 通过 | +| 兼容性测试 | | 不涉及 | +| DFX专项测试 | 性能测试 | 不涉及 | +| DFX专项测试 | 可靠性/韧性测试 | 不涉及 | +| DFX专项测试 | 安全测试 | 不涉及 | +| 资料测试 | | 不涉及 | +| 其他测试 | | 不涉及 | + +## 3.2 约束说明 + +硬件约束:该特性仅支持armv8架构硬件平台 +使用约束:在使用SMP多核运行时,需要为UniProton优先分配运行CPU。在多实例部署时,除了需要预留运行CPU,还需要预留多实例镜像加载地址。 + +## 3.3 遗留问题分析 + +不涉及 + +# 4 详细测试结论 + +## 4.1 功能测试 +*开源软件:主要关注开源软件升级后的变动点,继承特性由开源软件自带用例保证(需额外关注软件包提供可执行命令、库、服务功能)* +*社区孵化软件:主要参考以下列表* + +### 4.1.1 继承特性测试结论 + +不涉及 + +### 4.1.2 新增特性测试结论 + +| 序号 | 组件/特性名称 | 特性质量评估 | 备注 | +| --- | ----------- | :--------: | --- | +| 1 | SMP多核启动 | | 测试通过 | +| 2 | SMP多核任务调度 | | 测试通过 | +| 3 | 多实例混合部署启动 | | 测试通过 | +| 4 | 多实例混合部署通信 | | 测试通过 | +| 5 | SMP多核与多实例部署结合 | | 测试通过 | + +: 表示特性不稳定,风险高 +: 表示特性基本可用,遗留少量问题 +: 表示特性质量良好 + +## 4.2 兼容性测试结论 + +不涉及 + +## 4.3 DFX专项测试结论 + +### 4.3.1 性能测试结论 + +不涉及 + +### 4.3.2 可靠性/韧性测试结论 + +不涉及 + +### 4.3.3 安全测试结论 + +不涉及 + +## 4.4 资料测试结论 + +不涉及 + +## 4.5 其他测试结论 + +不涉及 + +# 5 测试执行 + +## 5.1 测试执行统计数据 + +*本节内容根据测试用例及实际执行情况进行特性整体测试的统计,可根据第二章的测试轮次分开进行统计说明。* + +| 版本名称 | 测试用例数 | 用例执行结果 | 发现问题单数 | +| -------- | ---------- | ------------ | ------------ | +| openEuler-24.03-LTS-SP2 | 5 | 通过 | 0 | + +*数据项说明:* + +*测试用例数--到本测试活动结束时,所有可用测试用例数;* + +*发现问题单数--本测试活动总共发现的问题单数。* + +## 5.2 后续测试建议 + +不涉及 + +# 6 附件 + +SMP多核启动测试结果: + +![smp start](./smp_start.png) + +SMP多核任务调度测试结果: + +![smp task](./smp_task.png) + +多实例混合部署启动测试结果: + +![multi-instance start](./multi_instance_start.png) + +多实例混合部署通信测试结果: + +![multi-instance rpmsg](./multi_instance_rpmsg.png) + +SMP多核与多实例部署结合测试结果: +![smp multi-instance](./smp_multi_instance.png) diff --git a/Test_Result/openEuler_24.03_LTS_SP2/posix_add_interface_test.png b/Test_Result/openEuler_24.03_LTS_SP2/posix_add_interface_test.png new file mode 100644 index 0000000000000000000000000000000000000000..862775f283ccd9fac91528c97edfb1503f812008 Binary files /dev/null and b/Test_Result/openEuler_24.03_LTS_SP2/posix_add_interface_test.png differ diff --git a/Test_Result/openEuler_24.03_LTS_SP2/posix_test.png b/Test_Result/openEuler_24.03_LTS_SP2/posix_test.png new file mode 100644 index 0000000000000000000000000000000000000000..cecf31580bc32490cae7451392ebbe9485518092 Binary files /dev/null and b/Test_Result/openEuler_24.03_LTS_SP2/posix_test.png differ diff --git a/Test_Result/openEuler_24.03_LTS_SP2/smp_multi_instance.png b/Test_Result/openEuler_24.03_LTS_SP2/smp_multi_instance.png new file mode 100644 index 0000000000000000000000000000000000000000..23cb7863d110e5ea817ddb8d254c57999cb1c9db Binary files /dev/null and b/Test_Result/openEuler_24.03_LTS_SP2/smp_multi_instance.png differ diff --git a/Test_Result/openEuler_24.03_LTS_SP2/smp_start.png b/Test_Result/openEuler_24.03_LTS_SP2/smp_start.png new file mode 100644 index 0000000000000000000000000000000000000000..83690723853adea2cfc4bf5b1b410be6a7deb552 Binary files /dev/null and b/Test_Result/openEuler_24.03_LTS_SP2/smp_start.png differ diff --git a/Test_Result/openEuler_24.03_LTS_SP2/smp_task.png b/Test_Result/openEuler_24.03_LTS_SP2/smp_task.png new file mode 100644 index 0000000000000000000000000000000000000000..3a9f47b1ed2bfe90cc73dc2e49fcc4a5e6bb0334 Binary files /dev/null and b/Test_Result/openEuler_24.03_LTS_SP2/smp_task.png differ