# openKylin RISC-V 2.0-RC 测试报告 **Repository Path**: wychlw/openKylin-RISC-V-2.0-RC-Testing ## Basic Information - **Project Name**: openKylin RISC-V 2.0-RC 测试报告 - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2024-07-25 - **Last Updated**: 2024-07-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # openKylin RISC-V 2.0 RC 版本测试报告 ## 介绍 本报告主要内容为对 openKylin RISC-V 2.0 RC 版本进行测试的结果统计与错误分析。 ## 测试版本说明 本文档测试对象是于 2024 年 7 月 15 日发布的 openKylin RISC-V 2.0 RC 版本的 Milk-V Pioneer 和 StarFive VisionFive 2 镜像。 ## 测试环境 系统和组件测试和硬件接口测试在 Milk-V Pioneer v1.3 和 StarFive VisionFive 2 开发板完成。 | 硬件 | 硬件配置信息 | |:---------------------:|:-----------------------------------------------------------------:| | Milk-V Pioneer v1.3 | SG2042 64C + 128G DDR4 REG ECC RAM + 1TB NVMe SSD + Intel X540-T2 | | StarFive VisionFive 2 | StarFive JH7110 + 4GB RAM + 64GB microSD | 由于测试环境的内核版本对软件包测试的影响小,本测试选择了以下环境共同对 openKylin 镜像中的 RISC-V 架构软件包进行 `autopkgtest` 自动化测试。 由于该软件源为各个 RISC-V 硬件共用,且使用 `schroot` 测试时宿主机系统对测试影响范围有限,故使用运行 Fedora 38 系统的 SG2042 双路服务器开展测试。 | 硬件配置信息 | OS | 内核版本 | autopkgtest 版本 | |:--------------------------:|:---------:|:--------:|:----------------:| | CPU: SG2042
RAM: 256GB | Fedora 38 | 6.1.31 | 5.30 | ## 系统安装 + [openKylin StarFive VisionFive 2 安装手册](./VisionFive2/安装手册/README.md) + [openKylin Milk-V Pioneer 安装手册](./Pioneer/安装手册/pioneer.md) ## 测试计划 本报告 openKylin RISC-V 2.0 RC 版本测试分为系统和组件测试、硬件接口测试与自动化测试。 其中系统和组件测试对所有预装的图形化软件进行了基本功能验证,硬件接口测试根据接到的测试要求对所有 StarFive VisionFive 2 和 Milk-V Pioneer 板载接口的可用性进行了测试,自动化测试对 openKylin 软件源中的软件包进行了测试。 系统组件测试和硬件接口测试进行手动验证能否正常使用。自动化测试方面使用 `autopkgtest` 测试框架,对仓库中的所有软件包进行自动化测试。 ## 测试结果 StarFive VisionFive 2 的详细测试报告见: + [系统和组件测试](./VisionFive2/系统和组件测试) + [硬件接口测试](./VisionFive2/硬件接口测试) Milk-V Pioneer 的详细测试报告见: + [系统和组件测试](./Pioneer/系统和组件测试) + [硬件接口测试](./Pioneer/硬件接口测试) ## 测试结论 ### 系统和组件测试 openKylin RISC-V 2.0 RC 版本按照测试计划,在 StarFive VisionFive 2 上测试了和 Milk-V Pioneer 上共测试了 72 个测试用例,结果如下。 #### StarFive VisionFive 2 共 72 个测试用例,成功 60 个,失败 9 个,无法测试 3 个。 | 测试用例 | 结果 | 备注 | |:-----------------------:|:----:|:--------------------------------------------------------------------------------:| | UKUI/桌面/桌面 dock 功能 | 失败 | 尝试加载窗口缩略图时,dock 会崩溃或重启;无法调出虚拟键盘。 | | UKUI/桌面/桌面窗口操作 | 失败 | 窗口最大化时会卡住,需要点击一下别的地方刷新。 | | UKUI/登录/登录界面网络切换 | 失败 | 已连接有线网络,但其未显示开启的以太网接口 | | UKUI/登录/锁屏界面尝试登录 | 失败 | 正确密码依然提示错误;错误一次后点击重试没有反应。 | | 其它应用/工具箱 | 失败 | 无法完成整机信息扫描,无法完成硬件参数扫描,硬件检测显示空窗口,驱动管理界面只有主板。 | | 系统监视器/磁盘操作 | 失败 | 点击磁盘后显示空窗口。 | | 设置/设置区域语言 | 失败 | 未能成功更改区域语言,重新登录后保持不变。 | | 设置/检查更新 | 失败 | 无法检查更新 | | 包管理/使用 apt 检索文件 | 失败 | 无法找到 `apt-file` 包。 | | 浏览器/Chromium | ? | 无法测试:系统未预装且软件源内未提供可安装的浏览器包 | | 浏览器/Firefox | ? | 无法测试:系统未预装且软件源内未提供可安装的浏览器包 | | 浏览器/Epiphany | ? | 无法测试:系统未预装且软件源内未提供可安装的浏览器包 | 该系统存在花屏/错误绘制问题,用任何方式触发一次重绘即可消除。如拖动窗口、改变大小、改变样式和焦点等。 #### Milk-V Pioneer 共 72 个测试用例,成功 50 个,失败 20 个,无法测试 2 个。 | 测试用例 | 结果 | 备注 | |:-----------------------:|:----:|:------------------------------------------------------:| | 包管理/使用 apt 检索文件 | 失败 | `apt-file` 无法安装 | | 多媒体/扫描 | 失败 | 未预装,安装失败:依赖关系不满足 | | 浏览器 | ? | 未预装,软件源未提供任何可安装的浏览器软件包,无法进行测试 | | 其他应用/用户手册 | 失败 | 未预装,手动安装失败:依赖关系不满足 | | 其他原因/工具箱 | 失败 | 未预装,手动安装失败:依赖关系不满足 | | 其他应用/计算器 | 失败 | 未预装,手动安装失败:依赖关系不满足 | | 其他应用/麒麟管家 | 失败 | 使用麒麟管家故障检测结果异常,垃圾清理一直无法扫描完成 | | 其他应用/U 盘启动器 | 失败 | 无法写入镜像 | | 其他应用/天气 | 失败 | 无法获取天气信息/无法定位 | | 设置/更改系统分辨率 | 失败 | 更改分辨率未生效 | | 设置/网络设置 | 失败 | 独立网卡不工作 | | 设置/个性化设置 | 失败 | 无法修改字体:下拉框为空 | | 设置/检查更新 | 失败 | 无法检查更新 | | 设置/全局搜索设置 | ? | 可修改但无法验证是否生效:无浏览器可用 | | 文件管理器/显示隐藏文件 | 失败 | 未能成功勾选但实际已生效 | | 系统监视器/查看系统资源 | 失败 | 放置一段时间后闪退 | | 系统监视器/进程操作 | 失败 | 放置一段时间后闪退 | | 系统监视器/服务操作 | 失败 | 放置一段时间后闪退/系统监视器可能无响应 | | 系统监视器/磁盘操作 | 失败 | 放置一段时间后闪退/系统监视器闪退 | | 系统监视器/搜索操作 | 失败 | 放置一段时间后闪退 | | UKUI/登录/登录界面网络切换 | 失败 | 不能正常显示有线网络连接 | | UKUI/桌面/桌面 Dock 功能 | 失败 | 详见子文档 | ### 硬件接口测试 #### StarFive VisionFive 2 所有的设备接口基本可用。 | 设备类型 | 状态 | 备注 | |:------------:|:--:|:----------------------------------:| | USB 串行总线接口 | 成功 | 可以正常驱动鼠标、键盘、U 盘等常见设备 | | 以太网口 | 成功 | 两个以太网口均能正常联网 | | HDMI 视频输出 | 成功 | 能够正常视频输出 | | 3.5mm 音频接口 | 成功 | 能够正常输出音频 | | 系统串口(GPIO) | 成功 | 能够正常输出日志和使用串口控制台 | #### Milk-V Pioneer 除机器预装的 Intel X540-T2 独立网卡和 USB 之外,设备接口基本可用。 | 设备类型 | 状态 | 备注 | |:------------------:|:--:|:------------------------------------------------------------------------------------------------------:| | USB 串行总线接口 | 失败 | 可以正常驱动鼠标、键盘、U 盘等常见设备;系统启动前在前面板插入 U 盘会导致前面板 U 盘无法识别,且重新插拔无效 | | 板载以太网口 | 成功 | 两个板载以太网口均能正常联网 | | 独立网卡 Intel X540-T2 | 失败 | 无法联网;`dmesg` 有错误信息 | | 独立显卡 HDMI 视频输出 | 成功 | HDMI 音视频均正常 | | 板载 CP210x USB 转串口 | 成功 | 能够正常输出 | ### 自动化测试 本次测试与 2023 年 9 月进行的针对 openKylin RISC-V 1.0 Lichee Pi 4A 版本的 autopkgtest 测试数据进行对比。 1.0 软件源共有 43205 个软件包,其中 4955 个软件包有源码包,源码包共 2435 个;测试对 2435 源码包进行了测试,其中 338 个源码包完成了测试,1193 个源码包中没有测试用例,902 个源码包测试依赖不满足,2 个源码包由于其他错误失败;完成测试的 338 个软件包共包含 590 个测试用例,通过了 390 个,未通过 200 个。 2.0-RC 软件源共有 10723 个软件包,其中 3935 个软件包有源码包,源码包共 2875 个;测试对 2875 个源码包进行了 autopkgtest 测试,1925 个源码包中没有测试用例,6 个源码包测试依赖不满足,10 个源码包由于其他错误失败,934 个源码包开始了测试并输出了用例分别的日志;934 个开始测试的源码包,共统计了 3615 个测试用例,其中 575 个用例通过,665 个用例失败,1903 个用例测试依赖不满足,372 个用例需要 QEMU 虚拟机作为测试环境进行测试,88 个用例不支持 riscv64 环境,13 个用例因为其他原因失败。 #### 测试结论 1. 从包数量来看,2.0-RC 源码包数量略有增加,而二进制软件包数量大幅减少,显然有大量缺包的现象; 2. 尽管测试通过的用例数量有所提升,但两次测试成功用例重合度不高,暂无法得出 2.0-RC 质量有所提升的结论; 3. 在实际测试中,大量的源码包表面上测试依赖可以满足,但实际安装测试依赖时又出现了依赖损坏,可见软件源中二进制包依赖不是自包含的; 4. 在测试中有发现包无法下载的情况,可能需要检查镜像配置。 + [详细测试结果](./自动化测试/README.md) + 失败用例列表 [failure.csv](https://gitee.com/yunxiangluo/openKylin-RISC-V-2.0-RC-Testing/tree/master/自动化测试/failure.csv) + 完整用例列表 [failureCause.csv](https://gitee.com/yunxiangluo/openKylin-RISC-V-2.0-RC-Testing/tree/master/自动化测试/failureCause.csv) + 测试结果统计 [result.csv](https://gitee.com/yunxiangluo/openKylin-RISC-V-2.0-RC-Testing/tree/master/自动化测试/result.csv) + 无测试用例的源码包列表 [noTest.csv](./自动化测试/noTest.csv) + 无法测试的源码包列表 [miscCause.csv](https://gitee.com/yunxiangluo/openKylin-RISC-V-2.0-RC-Testing/tree/master/自动化测试/miscCause.csv) + 完整测试日志 [logs](https://gitee.com/yunxiangluo/openKylin-RISC-V-2.0-RC-Testing/tree/master/自动化测试/logs) + 测试用例失败原因分类表(见[附录 1](./自动化测试/README.md/#附录-1-测试用例失败原因列表)) + [测试失败用例列表](./自动化测试/README.md/#测试失败用例列表) [fail_misc.csv](https://gitee.com/yunxiangluo/openKylin-RISC-V-2.0-RC-Testing/tree/master/自动化测试/split_csvs/fail_misc.csv) + [测试依赖不满足用例列表](./自动化测试/README.md/#测试依赖不满足用例列表) [skip_not_installable.csv](https://gitee.com/yunxiangluo/openKylin-RISC-V-2.0-RC-Testing/tree/master/自动化测试/split_csvs/skip_not_installable.csv) + [测试需要 QEMU 测试环境用例列表](./自动化测试/README.md/#测试需要-qemu-测试环境用例列表) [skip_need_qemu.csv](https://gitee.com/yunxiangluo/openKylin-RISC-V-2.0-RC-Testing/tree/master/自动化测试/split_csvs/skip_need_qemu.csv) + [测试不支持 riscv64 环境用例列表](./自动化测试/README.md/#测试不支持-riscv64-环境用例列表) [skip_no_riscv.csv](https://gitee.com/yunxiangluo/openKylin-RISC-V-2.0-RC-Testing/tree/master/自动化测试/split_csvs/skip_no_riscv.csv) + [测试其他原因失败用例列表](./自动化测试/README.md/#测试其他原因失败用例列表) [skip_other.csv](https://gitee.com/yunxiangluo/openKylin-RISC-V-2.0-RC-Testing/tree/master/自动化测试/split_csvs/skip_other.csv) + [测试通过用例列表](./自动化测试/README.md/#测试通过用例列表) [pass.csv](https://gitee.com/yunxiangluo/openKylin-RISC-V-2.0-RC-Testing/tree/master/自动化测试/split_csvs/pass.csv)