diff --git "a/sig/QA/content/\345\206\205\346\240\270\346\265\213\350\257\225/assets/KernelNightlyFlow.png" "b/sig/QA/content/\345\206\205\346\240\270\346\265\213\350\257\225/assets/KernelNightlyFlow.png" new file mode 100644 index 0000000000000000000000000000000000000000..200f8dca7f95823b627e9eb99b16c4f7a8f68339 Binary files /dev/null and "b/sig/QA/content/\345\206\205\346\240\270\346\265\213\350\257\225/assets/KernelNightlyFlow.png" differ diff --git "a/sig/QA/content/\345\206\205\346\240\270\346\265\213\350\257\225/\345\206\205\346\240\270\345\212\237\350\203\275nightly\346\265\213\350\257\225.md" "b/sig/QA/content/\345\206\205\346\240\270\346\265\213\350\257\225/\345\206\205\346\240\270\345\212\237\350\203\275nightly\346\265\213\350\257\225.md" new file mode 100644 index 0000000000000000000000000000000000000000..145bfdcc2d84ba3ecfd325da833bc5eeeddfcca2 --- /dev/null +++ "b/sig/QA/content/\345\206\205\346\240\270\346\265\213\350\257\225/\345\206\205\346\240\270\345\212\237\350\203\275nightly\346\265\213\350\257\225.md" @@ -0,0 +1,80 @@ +# 内核功能Nightly测试 + +## 内核功能nightly测试流程 + +![内核功能nightly测试流程](assets/KernelNightlyFlow.png) + +内核功能nightly测试是以定时任务的形式,由Jenkins每天定时触发,其主要流程包括: +* Jenkins定时任务 +* Jenkins调度builder打包内核rpm包 +* Jenkins触发T-One任务 +* T-One根据测试模版,使用测试机对内核功能进行验证 + +## 测试内容 + +### 测试覆盖 + +| 内核版本 | 架构 | 发行版 | 内核代码分支 | +| ------ | ---- |-------------------------------------|--------------| +| 4.19 | x86_64 | OpenAnolis OS 7
OpenAnolis OS 8 | devel-4.19 | +| 4.19 | aarch64 | OpenAnolis OS 7
OpenAnolis OS 8 | devel-4.19 | +| 5.10 | x86_64 | OpenAnolis OS 8 | devel-5.10 | +| 5.10 | aarch64 | OpenAnolis OS 8 | devel-5.10 | + +### Jenkins任务流程 + +1. 按照不同的架构选择对应的worker节点 +2. 拉取内核代码:https://gitee.com/anolis/cloud-kernel +3. 拉取内核打包工具代码:https://gitee.com/src-anolis-sig/ck-build +4. 打包内核RPM包 +5. 创建T-One job,参数举例: + 1. 内核rpm包的URL + 2. T-One的workspace名称 + 3. T-One的job template(template中配置了需要执行的测试集) + +### T-One任务流程 + +1. 调度Jenkins下发的测试任务 +2. 根据template中的配置申请对应的测试机资源(x86_64/aarch64) +3. 在测试机上安装打包好的内核rpm并重启测试机 +4. 执行对应的测试套件 +5. 人工定时检查测试结果 + +**任务举例:** + +* 4.19 + * https://tone.openanolis.cn/ws/jfupduzb/test_result/48486 + * https://tone.openanolis.cn/ws/jfupduzb/test_result/48492 +* 5.10 + * https://tone.openanolis.cn/ws/jfupduzb/test_result/48509 + * https://tone.openanolis.cn/ws/jfupduzb/test_result/48519 + +### 测试项 + +#### ltp + +LTP测试套包含一组用于测试Linux内核及相关功能的工具,以验证内核的可靠性、健壮性以及稳定性。 + +当前测试主要覆盖:commands,connectors,containers,controllers,cpuhotplug,crypto,cve,io,dio,fs,fsx,hugetlb,ipc,math,mm,net,nptl,pty,sched,syscalls,irq,fs_bind,filecaps,cap_bounds,fcntl-locktests,power_management_tests,hyperthreading,input,kernel_misc,uevent,watchqueue等 + +仓库地址: https://gitee.com/anolis/ltp + +#### kernel-selftests + +通过执行内核源码目录下的`tools/testing/selftests/`中的测试代码,对内核进行基础功能验证 + +#### xfstests + +文件系统测试,主要验证ext4和xfs文件系统的功能是否正常 + +仓库地址:https://gitee.com/anolis/xfstests.git + +#### perf-test + +内核perf工具的sanity测试 + +## 问题跟踪 + +* 提交地址:https://bugzilla.openanolis.cn/ +* 搜索关键字:[nightly] +