2012-11-07 21 views
3

我最近在我的自動化套件中添加了一個新的Jenkins作業,以在C++應用程序上運行覆蓋率分析。這項工作使用svn來更新到最新的代碼,然後使用覆蓋率(cov-build,cov-analysis和cov-format-errors)並創建一個覆蓋性錯誤的文本文件。然而,該應用程序已經存在了很長時間,並且突出顯示了很多覆蓋錯誤。我正在尋找一種運行覆蓋率的方式,以便它只分析新增內容? 有沒有人知道一種方法來實現這一目標?另外任何Coverity提示都非常受歡迎:DCoverity&Jenkins:如何僅分析新提交的代碼

+0

恕我直言,只分析更改的代碼不是一個好主意。新代碼中的更改可能會導致更改舊代碼中的問題。 (Coverity確實對代碼做了一些追蹤。)更好的解決方案是通過將它們標記爲不是問題(推遲,忽略等)來處理舊問題;或通過解決它們。 – jwernerny

+0

您是否將您的缺陷提交給Coverity Connect(或Integrity Manager數據庫)?如果是這樣,您可以使用過濾器來忽略給定日期後發現的所有問題。 –

+0

不,我沒有這樣做,我是新來的,並且不知道這件事。是否有任何地方我可以找到示例或一步一步,這將幫助我設置Coverity Connect(或Integrity Manager數據庫)...然後可能添加到我的Jenkins服務器 – CoolSteve

回答

4

你不能這樣做。 Coverity不知道什麼是新代碼,什麼不是。

但有一個解決方法。首先,在您的代碼上運行Coverity,然後在CIM服務器中將所有Coverity問題標記爲Ignore和Intentional。然後,設置您的Coverity插件僅在發現新問題時才報告。

現在,當Coverity在新代碼更新後掃描您的代碼時,如果發現任何與現有問題基線不匹配的問題,則會觸發故障。注意:失敗將繼續觸發,直到您修改代碼以使問題消失,或將新問題標記爲New以外。

+0

感謝您的信息,非常感謝。我會接受你的建議,並配置覆蓋面和mu jenkins工作,以滿足我的需求。再次感謝 – CoolSteve

+1

在coverity 8.0中,有一個叫做coverity-desktop-analysis的選項,通過使用這個應用程序,我們只能修改用於掃描到本地工作空間的文件,這意味着開發人員可以在提交/簽入源代碼之前運行覆蓋率庫。 – Scg

+0

我正在使用Coverity Connect 8.0.1。假設有1000個需要標記爲忽略的問題。是否有可以一次性標記所有1000個問題的選項? –

相關問題