developtools_integration_ve.../tools/fotff
liutuantuan 1e914ff517 格式化go相关代码
Signed-off-by: liutuantuan <liutuantuan1@huawei.com>
2024-10-21 09:55:06 +08:00
..
pkg 格式化go相关代码 2024-10-21 09:55:06 +08:00
rec refactor test command 2023-04-20 17:35:33 +08:00
res add fotff v0.2.0 2023-03-29 10:25:49 +08:00
tester add --result-path and --result-file flag to fotff 2023-04-25 11:44:03 +08:00
utils refactor pkg to support more devices 2023-04-10 15:53:48 +08:00
vcs add fotff v0.2.0 2023-03-29 10:25:49 +08:00
.gitignore add fotff v0.2.0 2023-03-29 10:25:49 +08:00
fotff.ini add sample ini and dayu200 flash tool 2023-04-25 15:46:22 +08:00
go.mod 格式化go相关代码 2024-10-21 09:55:06 +08:00
go.sum add fotff v0.2.0 2023-03-29 10:25:49 +08:00
LICENSE add fotff v0.2.0 2023-03-29 10:25:49 +08:00
main.go add test command for fotff 2023-04-20 17:12:07 +08:00
README.md 格式化go相关代码 2024-10-21 09:55:06 +08:00

fotff

介绍

fotff(find out the first fault)是为OpenHarmony持续集成设计的问题自动化问题分析工具。

为了平衡开销与收益考虑到开发效率、资源占用等因素影响OpenHarmony代码合入门禁冒烟测试只拦截部分严重基础问题例如开机失败、关键进程崩溃、UX布局严重错乱、电话/相机基础功能不可用等)。因此,一些会影响到更细节功能、影响兼容性、系统稳定性等的问题代码将可能被合入。

fotff提供了一个框架不断地对最新持续集成版本运行测试套然后对其中失败用例进行分析找到或生成在该用例上次通过的持续集成版本和本次失败的持续集成版本之间的所有中间版本然后运用二分法的思想找到出现该问题的第一个中间版本从而给出引入该问题的代码提交。

软件架构

fotff
├── .fotff    # 缓存等程序运行时产生的文件的存放目录
├── logs      # 日志存放目录
├── pkg       # 版本包管理的接口定义和特定开发板形态的具体实现
├── rec       # 测试结果记录和分析
├── tester    # 测试套的接口定义和调用测试框架的具体实现
├── utils     # 一些通用的类库
├── vcs       # 版本控制相关的包比如manifest的处理通过OpenAPI访问gitee查询信息的函数等
├── fotff.ini # 运行需要的必要参数配置比如指定测试套、配置构建服务器、HTTP代理等
└── main.go   # 框架入口

安装教程

  1. 获取GoSDK并按照指引安装。
  2. 在代码工程根目录执行go build编译。如下载依赖库出现网络问题必要时配置GOPROXY代理。
  3. 更改fotff.ini按功能需要选择版本包和测试套的具体实现完成对应参数配置并将可能涉及到的测试用例集、脚本、刷机工具等放置到对应位置。

使用说明

普通模式

example: fotff

  1. 配置好fotff.ini文件后不指定任何命令行参数直接执行二进制即进入普通模式。此模式下框架会自动不断地获取最新持续集成版本并对其运行测试套然后对其中失败用例进行分析。
  2. 分析结果在.fotff/records.json文件中记录如果配置了邮箱信息会发送结果到指定邮箱。
对单个用例在指定区间内查找

example: fotff run -s pkgDir1 -f pkgDir2 -t TEST_CASE_001

  1. 配置好fotff.ini文件后通过-s/-f/-t参数在命令行中分别指定成功版本/失败版本/测试用例名,即可对单个用例在指定区间内查找。此模式下,仅在指定的两个版本间进行二分查找,运行指定的运行测试用例。
  2. 分析结果在控制台中打印,不会发送邮件。
烧写指定版本包

example: fotff flash -p pkgDir -d 7001005458323933328a01fce1dc3800

配置好fotff.ini文件后可以指定版本包目录烧写对应版本。

tips

刷机、测试具体实现可能涉及到hdc_stdxdevice ,安装和配置请参考对应工具的相关页面。 2. xdevice运行需要Python运行环境请提前安装。 3. 刷机、测试过程需要对应开发板的驱动程序,请提前安装。

参与贡献

  1. Fork 本仓库
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request

相关链接

OpenHarmony CI

developtools_hdc

dayu200_tools

testfwk_xdevice