OH 编译问题
需要版本 python3.9(待验证,看更高版本是不是可以)、gcc-11、clang 使用 gcc-11
我安装了 gcc-11 和 gcc-13,则默认通过 sudo apt install clang
会使用 gcc-13
,因此需要先卸载 gcc-13 后再重新安装。
sudo apt remove gcc-13
sudo apt remove clang
sudo apt install clang
然后检查:
clang -v
# 出现
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/11
Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/11
- 如果有多个版本的话,会显示多个 Found candidate GCC installation
sudo chown -R muxi /root
不小心将 OpenHarmony 安装到了 /root 下,需要 执行上面的命令后才能使用code .
打开
如何直接跑 tdd 和 xdc 在 Windows 上
首先要保证存在 hdc 工具,下载 OH开发者工具,解压后,压缩包中有linux,windows两个文件夹,找到 windows 下的 toolchains-windows-x64-5.0.2.57-Canary1.zip
文件,解压到对应目录,然后添加路径到环境变量中,比如 D:\OH\toolchains-windows-x64-5.0.2.57-Canary1\toolchains
- 打开终端,执行
hdc version
查看版本信息
注意使用 pip list
查看安装的版本,其中 setuptools 的版本号不能大于 50,如果大于,可以使用:
python -m pip uninstall setuptools
python -m pip install setuptools==46.1.3
环境上需要下载:
git clone https://gitee.com/openharmony/testfwk_developer_test
git clone https://gitee.com/openharmony/testfwk_xdevice
在 testfwk_xdevice
上需要直接 python setup.py install
和 在 plugins\ohos
目录下执行 python setup.py install
(不执行也没啥)
- 需要将两个文件放到同一个目录下,比如 /TDD
对于协议栈,TDD 就是本地的 UT,没有 XTS;由于 request 模块依赖协议栈,因此协议栈的修改需要跑 request 模块的 UT 和 XTS,可以使用一个已完成的 PR 来验证本地 windows 环境是否正确:
- 比如对已合并的 PR:
https://gitee.com/openharmony/request_request/pulls/1171
来进行测试- 镜像烧写
- 首先需要进行镜像烧写,在 PR 下面找到最新的 build 成功的记录,然后查看门禁报告
https://ci.openharmony.cn/workbench/cicd/detail/67807ce064650f998b35725f/runlist
- 下载 dayu200 里面的文件
- TDD
如上所示,下载
dayu200_tdd
里的文件 将下载文件解压,将解压文件里面的/tests
目录,拷贝到上面的/TDD
目录下的testfwk_developer_test
中。
修改 testfwk_developer_test/config/user_config.xml
配置文件:
- 修改 sn 信息为
hdc list targets
的输出值 ```xml
最后在目录 `D:\rk3568\TDD\testfwk_developer_test` 启动终端,然后运行 `./start.bat`,然后执行
```bash
run -t UT -tp request
- XTS
如上所示,下载
dayu200_xts
里的文件,直接解压后进入下面的文件夹\Artifacts-dayu200_xts-20250110-1-00135-version-dayu200_xts\suites\acts\acts
然后运行:
run.bat
文件,执行run acts
注意,在跑 xts 的时候需要保证 rk 屏幕常亮 和 连接网络,测试需要通过网络来下载数据
- 屏幕常亮:
hdc shell power-shell setmode 602
600 : normal mode 601 : power save mode 602 : performance mode 603 : extreme power save mode
对于协议栈的测试来说,TDD 就是项目下的 UT 测试,也就是通过执行 cargo test
来完成
- 需要执行的 XTS 和 TDD 都是上传下载的,因此上传下载依赖协议栈,因此:
- 刷上对应 PR 的镜像到 rk 中
- 使用上传下载的其他最近 PR 上的 XTS 和 TDD 测试
协议栈 images + 上传下载的 XTS 和 TDD
- 使用上传下载的其他最近 PR 上的 XTS 和 TDD 测试
如果安装了 xdevice,那么就直接使用 python -m xdevice
然后运行 run acts
即可。
run.bat 中包含了卸载和安装命令,如果版本没有变化就可以直接运行上述命令来执行哟管理
python -m pip uninstall -y hypium python -m pip uninstall -y xdevice-aw python -m pip uninstall -y xdevice-aosp python -m pip uninstall -y xdevice-oh-apptest python -m pip uninstall -y xdevice-ohos python -m pip uninstall -y xdevice-extension python -m pip uninstall -y xdevice-devicetest python -m pip uninstall -y xdevice-devicetest-extension python -m pip uninstall -y xdevice-devicetest-common-aw python -m pip uninstall -y xdevice-app-dfx-test python -m pip uninstall -y xdevice-common-aw python -m pip uninstall -y xdevice
测试报告的问题
- 测试报告现在用的两套逻辑,要么下载到新报告,要么使用旧报告
- 新报告下载不了的时候,直接使用了旧报告,但旧报告也要下载资源,如果下载不了,就会出现 这种错误,因此需要下载下面网站的资源,然后解压后替换到报告目录下
- https://gitee.com/openharmony-sig/compatibility/blob/master/test_suite/resource/xdevice/template.zip