91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內(nèi)不再提示

VectorCAST/QA與Bazel集成配置方法

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

掃碼添加小助手

加入工程師交流群

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

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

>添加待插裝源碼

>設(shè)置覆蓋度類型并插裝

>導(dǎo)入或查看覆蓋度數(shù)據(jù)

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

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

01配置集成

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

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

導(dǎo)入VectorCAST規(guī)則集

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

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

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

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

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

配置Bazel項目

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

有兩種配置方法:

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

方法二:當(dāng)項目開啟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",

)

以上配置中,斜體部分應(yīng)改為插件文件vectorcast.rc的實際路徑,可以是相對于當(dāng)前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")

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

示例如下:

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

圖3:配置MODULE.bazel

配置構(gòu)建規(guī)則

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

找到Bazel build構(gòu)建目標(biāo),或者build test目標(biāo)所在的BUILD.bazel文件

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

配置如下:

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

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

target_to_instrument指原始構(gòu)建目標(biāo)的名稱;

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

vectorcast_binary(

name = "manager_driver_instrumented",

target_to_instrument = ":manager_driver"

)

在下圖示例中:

構(gòu)建目標(biāo)是可執(zhí)行程序:manager_driver

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

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

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

圖4 配置目標(biāo)的構(gòu)建規(guī)則

配置構(gòu)建指令

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

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

--config=vectorcast:開啟VectorCAST JIT

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

目前可支持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構(gòu)建指令

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

02構(gòu)建項目

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

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

圖6:完整構(gòu)建腳本

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

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

圖7:構(gòu)建示例項目

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

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

圖8:測試報告路徑

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

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

圖9:測試報告示例

互動專區(qū)

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

包括但不限于:

>期望未來VectorCAST產(chǎn)品支持哪些新特性。

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

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

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

    關(guān)注

    33

    文章

    9527

    瀏覽量

    157103
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4970

    瀏覽量

    74017
  • Vector
    +關(guān)注

    關(guān)注

    3

    文章

    100

    瀏覽量

    10046

原文標(biāo)題:VectorCAST/QA與Bazel集成配置方法

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

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

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

    NPA1003QA射頻晶體管

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

    tflite mcu怎么使用

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

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

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

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

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

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

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

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

    QA系統(tǒng)用于回答人們以自然語言形式提出的問題,其在互聯(lián)網(wǎng)、通信及醫(yī)療等領(lǐng)域獲得顯著的成功。其中,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轉(zhuǎn)換器

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

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

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

    QA3000加速計的數(shù)據(jù)手冊免費下載

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

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

    ,調(diào)試目標(biāo)板是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內(nèi)核上實現(xiàn)系統(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>

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

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

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

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