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

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

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

使用pkgs-test工具對軟件包進行qemu測試

冬至子 ? 來源:vacabun ? 作者:vacabun ? 2023-09-25 16:19 ? 次閱讀

pkgs-test是一個可以在github actions上面檢查軟件包編譯情況的工具。除了檢查軟件包的編譯情況pkgs-test目前還添加了qemu運行測試。

原理

RT-thread里面有幾個bsp使用了qemu模擬開發(fā)板,比如qemu-vexpress-a9。

使用scons編譯后,運行bsp里面的qemu-nographic.sh可以啟動一個沒有圖形模式的qemu模擬器。

在這個模擬器里面可以通過讀取輸出字符來識別軟件包運行是否正常。

配置軟件包
RT-thread可以使用INIT_APP_EXPORT宏來進行自動化的初始化,在系統(tǒng)啟動時可以自動的運行初始化程序。

通過自動化初始化這個功能,我們可以在初始化的過程中輸出軟件包的初始化結(jié)果。

這個在hello軟件包里面有體現(xiàn)。(https://github.com/RT-Thread-packages/hello/blob/master/src/hello.c)

hello軟件包在初始化的時候會執(zhí)行rt_kprintf("hello package initialized.n");,輸出hello package initialized. 。

我們可以就在qemu的輸出里面尋找是否有輸出hello package initialized. 來判斷軟件包是否運行正常。

預期輸入輸出的配置

目前對于qemu的預期輸入輸出的配置,在github actions存放workflow的文件夾里面創(chuàng)建了一個qemu.json文件。

其中input是一個列表,存放多個字符串用于多行輸入,output就是預期的輸出。

{
"hello": {
"latest": {
"input": [],
"output": "hello package initialized."
}
}
}

對于沒有配置的版本,默認情況下識別的目標字符串是msh />。

開啟qemu測試

在pkgs-test的配置參數(shù)里面加入qemu-check: true

具體也可以看hello軟件包的配置,目前也開啟了qemu測試。

name: RT-Thread_Packages_Test
on:
[push, pull_request]
jobs:
pkgs-test:
uses: RT-Thread/pkgs-test/.github/workflows/pkgs-action.yml@main
with:
qemu-check: true

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

    關注

    2

    文章

    862

    瀏覽量

    43127
  • BSP
    BSP
    +關注

    關注

    1

    文章

    86

    瀏覽量

    26085
  • RT-Thread
    +關注

    關注

    31

    文章

    1261

    瀏覽量

    39838
  • qemu
    +關注

    關注

    0

    文章

    57

    瀏覽量

    5318
收藏 人收藏

    評論

    相關推薦

    為什么ENV工具無法拉取online軟件包?怎么解決?

    env工具配置在線軟件包后,執(zhí)行pkgs --update提示下載成功,實際并未下載win11 env工具無法tab鍵補全指令
    發(fā)表于 04-25 09:44

    使用menuconfig配置基于RT-Thread的NimBLE軟件包

    打開 Env 環(huán)境進行配置構(gòu)建。每次使用一個 bsp 工程時,menuconfig 完成之后,還需要根據(jù)選項配置將特定的代碼(如添加軟件包等)通過 pkgs --update 命令進行
    發(fā)表于 06-27 11:18

    開源實習經(jīng)驗分享:openEuler軟件包加固測試

    進行加固測試。openEuler 社區(qū)按照不同的 SIG(Special Interest Group) 來組織,以便于更好管理和改善工作流程。軟件包加固測試相關工作則由SIG-QA團
    發(fā)表于 07-01 14:29

    為什么使用env工具pkgs --update命令進行軟件包下載時會報錯呢

    使用env工具pkgs --update命令進行軟件包下載時報如下錯誤請問這個是什么原因呀,按照網(wǎng)上的方法,安裝了git和Python27,都沒有解決,求幫助
    發(fā)表于 07-25 11:14

    pkgs無任何錯誤提示但不能下載與更新軟件包索引是什么原因

    最近換了一臺新電腦,thinkbook win10家庭版本系統(tǒng)。 安裝了Keil環(huán)境,git環(huán)境,安裝了env 1.2.0環(huán)境,發(fā)現(xiàn)使用pkgs時,無任何錯誤提示,并且不能下載與更新軟件包軟件包索引,不知道這是什么原因?經(jīng)過各
    發(fā)表于 07-25 13:06

    在Ubuntu平臺開發(fā)RT-Thread文檔中步驟搭建QEMU環(huán)境

    中步驟搭建 qemu 環(huán)境。注意:若 scons 版本低于 v4.0.1,需要手動安裝 scons,步驟如下:配置 NimBLE 軟件包1、在 qemu-vexpress-a9 BSP 根目錄輸入
    發(fā)表于 07-27 11:19

    如何在自己軟件包上添加CI集成工具

    簡介github有自己的CI集成工具 action, 很少有小伙伴關注到,如果你有自己的軟件包,想要對其進行維護的話,添加CI集成能夠方便你快速驗證你的代碼是否在RTT上可以順利編譯。本文會大概指導
    發(fā)表于 09-21 15:55

    請問一下pkgs只能下載一個軟件包嗎?

    menuconfig之后,增加了幾個軟件包,比如webnet、qboot、cjson。。。用pkgs —update,安裝了一個webnet之后,就停住不動,長時間后,只能ctrl+C取消,在
    發(fā)表于 12-15 17:49

    為什么pkgs--update沒有任何反應,軟件包也沒有下載下來?

    通過menuconfig 選中軟件包保存配置退出后,輸入命令pkgs —update等待一段時間后,未下載軟件包,且無任何打印信息
    發(fā)表于 02-09 10:50

    Ubuntu下使用配置qemu環(huán)境為什么不能更新軟件包呢?

    Ubuntu下使用配置qemu環(huán)境不能更新軟件包,顯示Permission denied: 'packages'是怎么回事
    發(fā)表于 02-15 10:48

    Keil MDK開發(fā)工具軟件包和組件介紹

    這段教學視頻介紹了ARM Keil MDK Version 5開發(fā)工具中的軟件包和組件
    的頭像 發(fā)表于 07-02 13:10 ?5229次閱讀

    pkgs-test工具介紹及其使用方法

    針對上述的問題,誕生了 pkgs-test 工具,主要用于暴露出社區(qū)軟件包的相關編譯問題。
    的頭像 發(fā)表于 07-28 15:56 ?950次閱讀

    RT-Thread在線軟件包改為本地軟件包的方法

    RT-Thread 的軟件包,使用時需要手動通過 ENV 工具 更新到 本地的 packages 目錄,并且 packages 目錄默認不參與 Git 工程管理,軟件包多了,偶爾需要更改軟件包
    的頭像 發(fā)表于 08-11 15:02 ?1125次閱讀
    RT-Thread在線<b class='flag-5'>軟件包</b>改為本地<b class='flag-5'>軟件包</b>的方法

    如何使用pkgs-test工具進行本地調(diào)試?

    pkgs-test作為一個可以在github actions上面運行檢查軟件包編譯情況的工具,同時也可以在本地使用。
    的頭像 發(fā)表于 09-21 15:00 ?666次閱讀

    RT-Thread中mymqtt軟件包的使用方法

    在上一篇文章 RT-Thread中Lan8720和lwip協(xié)議棧的使用的工程基礎上添加mymqtt軟件包。 使能mqtt example和mqtt test,保存,等待下載更新軟件包。
    的頭像 發(fā)表于 10-13 10:44 ?895次閱讀
    RT-Thread中mymqtt<b class='flag-5'>軟件包</b>的使用方法