chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

VectorCAST/QA與Bazel集成配置方法

Vector維克多 ? 來源:Vector維克多 ? 2026-03-11 17:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

VectorCAST/QA是VectorCAST產品族中用于統(tǒng)計系統(tǒng)測試過程中代碼覆蓋度的軟件工具。為降低配置難度,傳統(tǒng)的VectorCAST/QA系統(tǒng)測試項目通常使用手動操作方式完成以下步驟:

>創(chuàng)建系統(tǒng)測試環(huán)境

>添加待插裝源碼

>設置覆蓋度類型并插裝

>導入或查看覆蓋度數據

對于使用Bazel構建的大型項目,當需要統(tǒng)計覆蓋度的源碼量大時,手動添加被測源碼需要了解項目組織結構。更快捷的方法是在Bazel構建的過程中,由VectorCAST/QA自動完成創(chuàng)建測試環(huán)境,根據構建目標自動添加插裝的源碼列表,并完成插裝、測試結果加載,以及生成測試報告的工作。

VectorCAST的JIT(Just In Time)功能可以實現上述目標。VectorCAST JIT功能提供一系列VectorCAST工具的API接口,可用于在項目構建時完成上述步驟。下面將具體介紹在Ubuntu發(fā)行版本中,如何實現VectorCAST/QA與Bazel構建工具的集成方法。

01配置集成

下載VectorCAST/QA的Bazel規(guī)則集

VectorCAST/QA的Bazel規(guī)則集是將VectorCAST/QA的JIT API基于Bazel構建工具進行更高層次的封裝,以便在Bazel build或Bazel test構建過程中更便捷的調用JIT API。因此,需要將此規(guī)則集下載到測試機中。

導入VectorCAST規(guī)則集

打開項目對應的.bazelrc文件,導入VectorCAST/QA的Bazel規(guī)則集:

import{absolute_or_local_path/to/rules_vectorcast}/vectorcast.rc

上述語句中,斜體部分應改為插件文件vectorcast.rc的實際路徑,可以是相對于當前.bazelrc的相對路徑,也可以是絕對路徑。示例如下:

7a03e51a-1c37-11f1-90a1-92fbcf53809c.png

圖1:bazelrc導入vectorcast.rc規(guī)則集

配置Bazel項目

為了使用VectorCAST/QA的JIT功能,需要對項目進行配置。

有兩種配置方法:

方法一:配置WORKSPACE文件,添加對VectorCAST/QA JIT的支持;

方法二:當項目開啟Bzlmod時,配置MODULE.bazel來添加對VectorCAST/QA JIT的支持。

配置WORKSPACE

打開項目的根目錄中的WORKSPACE文件,添加如下配置:

local_repository(

name = "rules_vectorcast",

path ="{absolute_or_local_path/to/rules_ vectorcast}"

)

load("@rules_vectorcast//:deps.bzl", "rules_vectorcast_dependencies")

rules_vectorcast_dependencies()

load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")

bazel_skylib_workspace()

load("@rules_vectorcast//:workspace.bzl", "vectorcast_tools")

vectorcast_tools(

name = "vectorcast_tools",

)

以上配置中,斜體部分應改為插件文件vectorcast.rc的實際路徑,可以是相對于當前WORKSPACE的相對路徑,也可以是絕對路徑。

示例如下:

7a6cd4b2-1c37-11f1-90a1-92fbcf53809c.png

圖2:配置WORKSPACE

配置MODULE.bazel

打開項目的根目錄中的MODULE.bazel文件,添加如下配置:

bazel_dep(name = "rules_vectorcast")

local_path_override(

module_name = "rules_vectorcast",

path = "{absolute_or_local_path/to/rules_ vectorcast}"

)

vectorcast_tools_extension=use_extension("@rules_vectorcast//:extensions.bzl", "vectorcast_tools_extension")

vectorcast_tools_extension.tools()

use_repo(vectorcast_tools_extension, "vectorcast_tools")

以上配置中,斜體部分應改為插件文件vectorcast.rc的實際路徑,可以是相對于當前MODULE.bazel的相對路徑,也可以是絕對路徑。

示例如下:

7ac99594-1c37-11f1-90a1-92fbcf53809c.png

圖3:配置MODULE.bazel

配置構建規(guī)則

配置完Bazel項目和Bazel工具本身使用VectorCAST規(guī)則集后,還需要在構建目標對應的BUILD.bazel文件中加載該規(guī)則集。具體的方法如下:

找到Bazel build構建目標,或者build test目標所在的BUILD.bazel文件

編輯BUILD.bazel文件,首行添加load語句加載指定規(guī)則。

配置如下:

load("@rules_vectorcast//:def.bzl", "vectorcast_binary")

在文件末尾添加vectorcast_binary配置,用于生成包含覆蓋度插裝代碼的可執(zhí)行程序。其中,

target_to_instrument指原始構建目標的名稱;

name為新生成的包含插裝代碼的新可執(zhí)行程序的名稱:

vectorcast_binary(

name = "manager_driver_instrumented",

target_to_instrument = ":manager_driver"

)

在下圖示例中:

構建目標是可執(zhí)行程序:manager_driver

首行使用load加載bazel規(guī)則

末尾配置插裝生成新可執(zhí)行程序的名稱

7b243b8e-1c37-11f1-90a1-92fbcf53809c.png

圖4 配置目標的構建規(guī)則

配置構建指令

使用VectorCAST/QA JIT功能還需要在最終的Bazel構建指令中開啟VectorCAST JIT功能。

只需要在最終的Bazel build或者Bazel test指令中添加以下選項:

--config=vectorcast:開啟VectorCAST JIT

--vectorcast_compiler_tag=:編譯鏈模板Tag,VectorCAST會根據這個tag自動加載相應的編譯選項來插裝被測代碼。

目前可支持Bazel集成的編譯鏈Tag列表如下:

GNU_CPP_X

GNU_CPP98_X

GNU_CPP03_X

GNU_CPP11_X

GNU_CPP14_X

GNU_CPP17_X

GNU_CPP20_X

CLANG_CPP_X

CLANG_CPP98_X

CLANG_CPP03_X

CLANG_CPP11_X

CLANG_CPP14_X

CLANG_CPP17_X

CLANG_CPP20_X

--vectorcast_coverage_type=

STATEMENT+BRANCH:覆蓋度類型,可選類型有:

STATEMENT+MC/DC

STATEMENT+BRANCH

STATEMENT

FUNCTION

MC/DC

BRANCH

FUNCTION+FUNCTION_CALL

下圖為示例項目中生成可執(zhí)行程序的腳本。在Bazel build指令中添加了如下配置,以開啟VectorCAST JIT插裝,使用編譯鏈為GNU C++編譯鏈;插裝覆蓋度類型為語句和分支:

--config=vectorcast--vectorcast_compiler_tag=GNU_CPP_X--vectorcast_coverage_type=STATEMENT+BRANCH

7b7a6338-1c37-11f1-90a1-92fbcf53809c.png

圖5:配置Bazel構建指令

注意:對于Bazel 7.1.2及更低版本,需要額外添加配置:--spawn_strategy=local

02構建項目

完成前述配置后,即可開始構建項目。以下是示例項目的完整構建腳本,包含構建目標可執(zhí)行程序、模擬手動執(zhí)行用例、以及加載測試數據等所有操作。

7bd219c0-1c37-11f1-90a1-92fbcf53809c.png

圖6:完整構建腳本

進入項目目錄,直接執(zhí)行project_build.sh,等待構建完成。

7c28d990-1c37-11f1-90a1-92fbcf53809c.png

圖7:構建示例項目

構建完成后,會打印最終生成的HTML報告完整路徑信息,如下圖所示。

7c865110-1c37-11f1-90a1-92fbcf53809c.png

圖8:測試報告路徑

使用瀏覽器打開management_report.htm測試報告,內容如下:

7cdc854e-1c37-11f1-90a1-92fbcf53809c.png

圖9:測試報告示例

互動專區(qū)

歡迎在留言區(qū)提出您的意見和建議,參與即有機會獲得精美禮品。

包括但不限于:

>期望未來VectorCAST產品支持哪些新特性。

>期望以何種方式(圖文或視頻)更深入了解VectorCAST產品的哪些特性。

我們將從參與互動的用戶中隨機抽取 5 位,送出一份精美定制禮品,期待您的建議!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 接口
    +關注

    關注

    33

    文章

    9527

    瀏覽量

    157103
  • 代碼
    +關注

    關注

    30

    文章

    4970

    瀏覽量

    74018
  • Vector
    +關注

    關注

    3

    文章

    100

    瀏覽量

    10046

原文標題:VectorCAST/QA與Bazel集成配置方法

文章出處:【微信號:VectorChina,微信公眾號:Vector維克多】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    請問在NXP板的BSP QA過程中采用了哪些具體的測試方法?

    QA 過程中采用了哪些特定的測試方法? 什么是 QA 流程,以及 yocto/linux BSP 在整個 QA 生命周期中如何跟蹤和管理缺陷? RSB 3720 板的
    發(fā)表于 03-17 08:04

    NPA1003QA射頻晶體管

    NPA1003QA射頻晶體管產品介紹NPA1003QA報價NPA1003QA代理NPA1003QA咨詢熱線NPA1003QA現貨,王先生**
    發(fā)表于 09-03 12:04

    tflite mcu怎么使用

    首先要能編譯、能打印log編譯的方法有兩種,1) bazel 2) make可以在本地編譯調試使用bazel testbazel test //tensorflow/lite
    發(fā)表于 11-03 08:31

    onnxruntime-1.8.2-r0 do_package_qaQA 運行發(fā)現致命錯誤怎么解決?

    我正在“按原樣”使用 BSP 構建并收到錯誤... 錯誤:onnxruntime-1.8.2-r0 do_package_qaQA 問題:/usr/lib/python3.9
    發(fā)表于 04-28 08:03

    電位器整定的定時器專用電路QA640896 QA640892

    QA640896和QA640892B是臺灣宏太科技研制的定時器專用IC.利用它可以組成精確的定時控制電路,而且設計簡單,調試方便.文中介紹了該器件的主要特點、參數、功能和控制方法,給出了這兩
    發(fā)表于 04-28 15:53 ?28次下載

    電位器整定的定時器專用電路QA640896/QA640892

    電位器整定的定時器專用電路QA640896/QA640892B 摘要:QA640896和QA640892B是臺灣宏太科技研制的定時器專用ic。利用它可以組成精確的定時控制電路,而且設
    發(fā)表于 06-03 15:36 ?29次下載

    基于知識圖譜的QA系統(tǒng)研究

    QA系統(tǒng)用于回答人們以自然語言形式提出的問題,其在互聯(lián)網、通信及醫(yī)療等領域獲得顯著的成功。其中,IBM研發(fā)的Watson系統(tǒng)就在與人類的答題比賽中獲勝并首次獲得100萬美金獎勵;蘋果的Siri系統(tǒng)
    發(fā)表于 10-10 14:59 ?0次下載
    基于知識圖譜的<b class='flag-5'>QA</b>系統(tǒng)研究

    LV52117QA 用于LCD面板的雙輸出DC-DC轉換器

    電子發(fā)燒友網為你提供ON Semiconductor(ti)LV52117QA相關產品參數、數據手冊,更有LV52117QA的引腳圖、接線圖、封裝手冊、中文資料、英文資料,LV52117QA真值表,LV52117
    發(fā)表于 07-30 00:02

    LV5762QA 降壓型開關穩(wěn)壓器

    電子發(fā)燒友網為你提供ON Semiconductor(ti)LV5762QA相關產品參數、數據手冊,更有LV5762QA的引腳圖、接線圖、封裝手冊、中文資料、英文資料,LV5762QA真值表,LV5762
    發(fā)表于 07-29 21:02

    QA3000加速計的數據手冊免費下載

    和長期性能特征。主要應用包括航天器導航和控制系統(tǒng)。與整個Q-Flex系列加速計一樣,QA3000具有專利Q-Flex蝕刻石英撓性地震系統(tǒng)。無定形石英校樣結構提供了優(yōu)良的偏壓,比例因子和軸對準穩(wěn)定性。集成電子開發(fā)了加速度比例輸出電流提供靜態(tài)和動態(tài)加速度測量。通過使用客戶提
    發(fā)表于 08-31 08:00 ?12次下載
    <b class='flag-5'>QA</b>3000加速計的數據手冊免費下載

    VectorCAST/QA如何在LiteOS-A內核上實現系統(tǒng)白盒測試

    ,調試目標板是i.MX6ULL開發(fā)板(鴻蒙OS官方認可適配)。 VectorCAST/QA介紹 1.1 VectorCAST/QA功能與優(yōu)勢 Vec
    的頭像 發(fā)表于 06-26 16:21 ?1.1w次閱讀
    <b class='flag-5'>VectorCAST</b>/<b class='flag-5'>QA</b>如何在LiteOS-A內核上實現系統(tǒng)白盒測試

    45V,500mA NPN 通用晶體管-BC817-25QA_40QA

    45 V、500 mA NPN 通用晶體管-BC817-25QA_40QA
    發(fā)表于 02-21 19:07 ?0次下載
    45V,500mA NPN 通用晶體管-BC817-25<b class='flag-5'>QA_40QA</b>

    45V,500mA PNP 通用晶體管-BC807-25QA_40QA

    45 V、500 mA PNP 通用晶體管-BC807-25QA_40QA
    發(fā)表于 02-21 19:07 ?0次下載
    45V,500mA PNP 通用晶體管-BC807-25<b class='flag-5'>QA_40QA</b>

    直播預告 | VectorCAST-嵌入式軟件代碼自動化測試方案

    原文標題:直播預告|VectorCAST-嵌入式軟件代碼自動化測試方案文章出處:【微信公眾號:北匯信息】歡迎添加關注!文章轉載請注明出處。
    的頭像 發(fā)表于 08-19 10:39 ?1328次閱讀
    直播預告 | <b class='flag-5'>VectorCAST</b>-嵌入式軟件代碼自動化測試方案

    VectorCAST 對基于***的軟件代碼開發(fā)支持

    的技術挑戰(zhàn),其中之一就是確保國產芯片開發(fā)和應用的質量和可靠性。VectorCAST工具的應用為解決這一挑戰(zhàn)提供了強大的支持,它具有豐富的測試功能,有助于確保基于國產芯
    的頭像 發(fā)表于 12-14 08:25 ?1252次閱讀
    <b class='flag-5'>VectorCAST</b> 對基于***的軟件代碼開發(fā)支持