📚往期学习笔录📰:

📰 鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~
📰 鸿蒙应用开发与鸿蒙系统开发哪个更有前景?
📰 嵌入式开发适不适合做鸿蒙南向开发?看完这篇你就了解了~
📰 鸿蒙岗位需求突增!移动端、PC端、IoT到底该怎么选?
📰 记录一场鸿蒙开发岗位面试经历~
📰 持续更新中……


OpenHarmony 芯片移植完成后,需要开展 OpenHarmony 兼容性测试以及芯片 SDK 功能性测试。除可获得测试认证之外,还可以在开发阶段提前发现缺陷,大幅提高代码质量。

OpenHarmony 兼容性测试

OpenHarmony 兼容性测试是 XTS(OpenHarmony 生态认证测试套件)之一,详见  OpenHarmony 兼容性测试 。

  1. 添加 test 子系统以及 xts_acts 部件。
    在“vendor/xxx/xxx/config.json”文件中,添加如下代码:
    {
      "subsystem": "test",
      "components": [
        { "component": "xts_acts", "features":[] },
        { "component": "xts_tools", "features":[] }
      ]
    }
  1. 链接 XTS 生成的.a 库。

在链接选项中,需要链接生成于“out/MyBoard/MyProduct/libs”目录下的 XTS 的.a 库,其库的名称格式为 libmodule_ActsXxxTest.a,链接方式为"-lmodule_ActsXxxTest",示例代码如下:

    "-Wl,--whole-archive",
    ......
    "-lhctest",
    "-lbootstrap",
    "-lbroadcast",
    "-lmodule_ActsBootstrapTest",
    "-lmodule_ActsCMSISTest",
    "-lmodule_ActsDfxFuncTest",
    "-lmodule_ActsParameterTest",
    "-lmodule_ActsSamgrTest",
    "-lmodule_ActsSecurityDataTest",
    ......
    "-Wl,--no-whole-archive",
  1. 根据测试报告调整代码。

将编译生成的文件烧录到开发板上,使用串口工具查看 xts 测试报告。如果出现"failed"的测试项,则需要整改代码。

定位问题时,可在“test/xts/acts/build_lite/BUILD.gn”中,将不需要的测试项注释,以便调试。

    if (ohos_kernel_type == "liteos_m") {
      all_features += [
        "//test/xts/acts/communication_lite/lwip_hal:ActsLwipTest",
        "//test/xts/acts/communication_lite/softbus_hal:ActsSoftBusTest",
        "//test/xts/acts/communication_lite/wifiservice_hal:ActsWifiServiceTest",
        "//test/xts/acts/utils_lite/file_hal:ActsUtilsFileTest",
        "//test/xts/acts/startup_lite/syspara_hal:ActsParameterTest",
        "//test/xts/acts/iot_hardware_lite/iot_controller_hal:ActsWifiIotTest",
        "//test/xts/acts/kernel_lite/kernelcmsis_hal:ActsCMSISTest",
        "//test/xts/acts/utils_lite/kv_store_hal:ActsKvStoreTest",
        "//test/xts/acts/security_lite/datahuks_hal:ActsSecurityDataTest",
        "//test/xts/acts/hiviewdfx_lite/hilog_hal:ActsDfxFuncTest",
        "//test/xts/acts/distributed_schedule_lite/samgr_hal:ActsSamgrTest",
        "//test/xts/acts/update_lite/updater_hal:ActsUpdaterFuncTest",
        "//test/xts/acts/startup_lite/bootstrap_hal:ActsBootstrapTest",
      ]
    }

注意:

  1. XTS 会在 OHOS_SystemInit()调用之后,自行运行测试。
  2. 需要在"-Wl,–whole-archive"和"-Wl,–no-whole-archive"中间添加,否则链接不到。

进行 XTS 测试时,必须链接以下静态库

 "-lhctest",
 "-lbootstrap",
 "-lbroadcast",

厂商 SDK 功能性测试

芯片移植完成后需要客户验证 SDK 自身功能,例如 Wi-Fi,蓝牙,OTA 等基础能力是否正常。

Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐