Linux 引入自動化測試平台KernelCI
“測試效果差”是Linux長期以來的一個主要弱點,目前這一情形有了轉機,自動化測試平台 KernelCI已成為Linux基金會的一份子。KernelCI是一個基於社區的開源分佈式測試自動化系統,專注於上游Linux內核開發。該項目現已獲得了包括Google、Microsoft和Red Hat等公司的資助。
KernelCI 項目始於五年前,當時一些內核維護者意識到,“Linux 可在如此多的硬件上運行,但是對該硬件的測試卻非常少。”
眾所周知,Linux 內核是由一個大型的協作式開源社區開發的,該社區通過Linux 內核郵件列表(LKML)進行協作。但是Linux 內核測試是分散的,在測試軟件或方法上沒有足夠的協作。Linux 內核開發人員Russell Currey 提到,這種郵件列表方式下如何處理補丁是一個問題,大多數包含補丁的郵件缺少上下文,從電子郵件中也幾乎不可能知道修補程序是否已被合併或拒絕。“通常,郵件列表所攜帶的元數據級別根本不如當代項目託管站點,這使CI(連續集成)問題更加棘手。”
“傳統上,僅在最常見的硬件上進行測試。但是,由於Linux 在比任何其他操作系統上更多的硬件上運行,因此在所有這些硬件上進行測試也很重要”,KernelCI 聯合創始人Kevin Hilman 表示。“我們為內核提供了開源軟件,但並未採用開源方法進行測試。KernelCI 希望收集並共享我們的測試軟件,就像共享其餘代碼一樣”。通過合併這些測試項目並尋求共同點,新的KernelCI 也將幫助解決在LKML 中處理補丁的問題。
展望未來,KernelCI 將做的不只是硬件測試。Hilman 認為不僅需要進行更好的測試,還需要進行更好的跟踪和修復。KernelCI 的未來目標不僅是測試各種設備,而且還要統一所有上游Linux 內核測試工作。這將提供一個存儲、查看、比較和跟踪測試結果的平台。
總的來說,KernelCI 將改善Linux 長期支持(LTS)內核測試狀況,鞏固現有的測試計劃,改善Linux 的整體安全性,並增加測試硬件的數量。這將提高Linux 內核的質量、穩定性,並有助於它的長期維護。
參考:zdnet、theregister