成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

移植案例與原理 - XTS子系統之應用兼容性測試套件之一

原創
系統 OpenHarmony
本文主要通過實例分析下ACTS應用兼容性測試套件移植案例,以及移植過程中特定的操作的原理。

??想了解更多內容,請訪問:??

??51CTO和華為官方合作共建的鴻蒙技術社區??

??https://harmonyos.51cto.com??

XTS(X Test Suite)子系統是OpenHarmony生態認證測試套件的集合,當前包括:

  • acts(application compatibility test suite)應用兼容性測試套件,看護北向HAP兼容、OpenHarmony開發API兼容。
  • hats(Hardware Abstraction Test Suite )硬件抽象測試套,看護HDI層接口。
  • dcts(Distributed Compatibility Test Suite )分布式兼容性測試套,看護分布式兼容(待上線)

本文主要通過實例分析下ACTS應用兼容性測試套件移植案例,以及移植過程中特定的操作的原理。主要講述的是輕量系統兼容性測試。輕量系統因系統能力限制,兼容性測試在系統初始化階段進行;并且各設備燒錄工具存在差異,導致自動化工具(xDevice工具)無法實現真正的自動適配,因此認證執行方式不對合作伙伴進行限制。流程如下:

步驟1 編譯適配:XTS子系統加入到編譯組件中,隨版本一起編譯;

步驟2 本地執行:完成兼容性測試;

1、編譯適配XTS子系統

1.1 產品解決方案適配

需要在產品解決方案配置文件中增加增加xts_acts與xts_tools組件定義。下面看幾個示例,文件vendor\bestechnic\xts_demo\config.json中的配置片段:

   {
"subsystem": "xts",
"components": [
{ "component": "xts_acts", "features":
[
"config_ohos_xts_acts_utils_lite_kv_store_data_path = \"/data\"",
"enable_ohos_test_xts_acts_use_thirdparty_lwip = true"
]
},
{ "component": "xts_tools", "features":[] }
]
}

文件vendor\goodix\gr5515_sk_xts_demo\config.json中的配置片段:

    {
"subsystem": "xts",
"components": [
{ "component": "xts_acts", "features":
[
"config_ohos_xts_acts_utils_lite_kv_store_data_path = \"/data\""
]
},
{ "component": "xts_tools", "features":[] }
]
},

1.2 編譯鏈接

需要通過鏈接選項指定需要鏈接的ACTS的部件編譯庫文件,會使用到 --whole-archive 和 --no-whole-archive這2個ld鏈接選項。–whole-archive 可以把 在其后面出現的靜態庫包含的函數和變量輸出到動態庫,–no-whole-archive 則關掉這個特性。在文件vendor\goodix\gr5515_sk_xts_demo\BUILD.gn中,對ACTS的編譯文件進行鏈接。其中⑴到⑵處的鏈接選項為編譯出的屬于ACTS的組件測試庫文件。

   executable("${fw_img_name}.elf") {
deps = [
"tests:drivers",
"tests:fs_test",
"tests:ohosdemo",
"tests:shell_test",
"http://build/lite:ohos",
]

ldflags = [
"-Wl,--whole-archive",
# "-lfs_test",
# "-ldrivers_test",
# "-lapp_hello",
"-lshell_test",
"-lhctest",
"-lmodule_ActsBootstrapTest",
"-lmodule_ActsWifiIotTest",
"-lmodule_ActsUtilsFileTest",
"-lmodule_ActsKvStoreTest",
"-lmodule_ActsParameterTest",
"-lmodule_ActsSamgrTest",
"-lhuks_test_common",
"-lmodule_ActsHuksHalFunctionTest",
"-lmodule_ActsDfxFuncTest",
"-lmodule_ActsUpdaterFuncTest",
"-lmodule_ActsHieventLiteTest",
"-Wl,--no-whole-archive",
]
}

在文件vendor\bestechnic\xts_demo\config.json中,需要鏈接的ACTS部件測試庫文件寫在了bin_list里的force_link_libs里。

  "bin_list": [
{
"elf_name": "wifiiot",
"bsp_target_name": "best2600w_liteos",
"signature": "false",
"burn_name": "rtos_main",
"enable": "true",
"force_link_libs": [
"bootstrap",
"abilityms",
"bundlems",
"broadcast",
"hctest",
"module_ActsParameterTest",
"module_ActsBootstrapTest",
"module_ActsDfxFuncTest",
"module_ActsHieventLiteTest",
"module_ActsSamgrTest",
"module_ActsKvStoreTest"
]
},
.......
],

然后在文件device\soc\bestechnic\bes2600\BUILD.gn里組裝編譯鏈接選項,相關代碼片段如下:

  # config bin from vendor/bestechnic/<product_name>/config.json
foreach(bin_file, bin_list) {
......

if (build_enable == "true") {
......

# force link invisible function ,which ar to lib
ldflags += [ "-Wl,--whole-archive" ]
foreach(force_link_lib, bin_file.force_link_libs) {
ldflags += [ "-l${force_link_lib}" ]
}
ldflags += [ "-lbsp${bsp_target_name}" ]
ldflags += [ "-Wl,--no-whole-archive" ]
......
}
}

在文件vendor_asrmicro\xts_demo\config.json中,存在這樣的配置片段。

    "xts_list": [
{
"enable": "true",
"xts_modules": [
"ActsKvStoreTest",
"ActsDfxFuncTest",
"ActsHieventLiteTest",
"ActsSamgrTest",
"ActsParameterTest",
"ActsWifiServiceTest",
"ActsWifiIotTest",
"ActsBootstrapTest"
]
}
]

然后,在文件device_soc_asrmicro\asr582x\liteos_m\sdk\BUILD.gn文件中組裝編譯鏈接選項。

 foreach(xts_item, xts_list) {
xts_enable = xts_item.enable
if(xts_enable == "true")
{
defines = [ "CFG_HARMONY_SUPPORT" ]
ldflags += [
"-Llibs",
"-Wl,--whole-archive",
"-lhctest",
"-lbootstrap",
"-lbroadcast",
]
foreach(xts_module, xts_item.xts_modules) {
ldflags += [ "-lmodule_${xts_module}" ]
}
ldflags += [ "-Wl,--no-whole-archive" ]
}
}

在產品解決方案配置文件中增加的bin_list、xts_list這些配置選項都不是config.json中的默認的標準選項。各個方案實現的風格差異比較大,建議使用第一種,寫在文件vendor\goodix\gr5515_sk_xts_demo\BUILD.gn中會比較好。另外,需要使用hb命令觸發debug版本(非debug版本不會觸發測試編譯)。

??想了解更多內容,請訪問:??

??51CTO和華為官方合作共建的鴻蒙技術社區??

??https://harmonyos.51cto.com??

責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2022-02-16 15:48:26

ACTS應用XTS子系統鴻蒙

2021-12-27 16:22:19

鴻蒙HarmonyOS應用

2022-01-26 15:16:24

utilsOpenHarmon鴻蒙

2023-04-17 19:43:54

兼容性測試軟件測試

2022-01-25 17:12:36

startup子系統syspara系統鴻蒙

2023-02-06 16:11:22

代碼研發鴻蒙

2021-10-06 19:06:25

微軟Windows 11Windows

2012-05-16 11:30:39

2012-01-04 10:45:01

2009-08-17 10:22:19

C# Windows

2009-10-15 10:56:19

開放式布線系統

2009-09-01 18:55:09

Windows 7兼容

2023-07-10 09:38:06

兼容性測試方案

2009-03-07 09:49:07

Windows 7兼容性

2012-04-24 10:08:12

HTML5

2021-12-27 16:20:45

鴻蒙HarmonyOS應用

2015-10-30 18:00:45

應用程序兼容性FireEye

2022-08-22 09:01:59

類型兼容性TypeScript

2009-09-15 08:33:01

2009-04-25 09:15:11

微軟Windows 7操作系統
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成年人在线观看视频 | 成人一级毛片 | 99精品视频免费在线观看 | 日日草夜夜草 | 一区二区三区四区日韩 | 久久久久九九九九 | 成人免费一区二区三区视频网站 | 亚洲精品中文字幕中文字幕 | 视频二区 | 日本成人免费观看 | 秋霞在线一区 | 欧美综合国产精品久久丁香 | 中文字幕 在线观看 | 国产精品一区二区久久久久 | 日韩精品一区中文字幕 | 欧美日韩在线精品 | 美女午夜影院 | 亚洲一区中文字幕 | 欧美日韩中文字幕 | 99re在线播放 | 久久99精品国产 | 国产欧美视频一区 | 久久99蜜桃综合影院免费观看 | 成人av片在线观看 | 天天色综 | 高清18麻豆 | 国产精品成人国产乱一区 | 日韩一区二区在线观看 | 成人在线免费网站 | 日韩一区二区三区在线观看 | 精品国产1区2区3区 在线国产视频 | 中文字幕一区二区三区四区 | 亚洲欧洲精品在线 | 国产午夜精品一区二区三区 | 91人人视频在线观看 | 国产在线播 | 国产1页 | 国产二区精品视频 | 国产 日韩 欧美 在线 | а√中文在线8 | 日韩欧美国产一区二区 |