1. 程式人生 > >Jenkins上的lint程式碼靜態測試和程式碼風格檢查cpplint

Jenkins上的lint程式碼靜態測試和程式碼風格檢查cpplint

最近欲使用Jenkins來構建自動化測試體系。除正常的動態測試的自動化,希望新增靜態測試到框架中。於是選定cppcheck和cpplint來作為程式碼靜態走查和程式碼風格檢查的工具。下面是使用jenkins來進行靜態測試的準備工作:

一、Jenkins的程式碼靜態走查

  1.  工具選擇:因為我們主要是C++程式碼,所以選擇cppcheck作為測試工具。
  2. Jenkins整合:cppcheck作為測試工具的另一個好處就是Jenkins上面有現成的外掛可以使用。非常方便。
  3. 配置:

        a. 在job頁面,增加windows batch command。遍歷同級目錄的Build下的所有檔案,刨除externlib目錄,並把結果以xml的形式輸出到project_codeanalysis.xml檔案。

cppcheck -j 4 --platform=win64 --enable=all ../Build/. -i externlib --xml 2> project_codeanalysis.xml

          b. 在構建後操作中增加publish cppcheck results。輸入此xml檔名。

    *** 如果想郵件中自動傳送此log,可以安裝copy to slave plugin。然後把這個xml複製會server。並從郵件中傳送。

二、 Jenkins的程式碼風格檢查

  1. 工具選擇:因為我們主要遵照google的程式碼風格,所以使用cpplint.py。下載地址: 
    http://google-styleguide.googlecode.com/svn/trunk/cpplint/cpplint.py 。程式碼風格中文版說明: http://blog.csdn.net/shendl/article/details/6762538
  2. Jenkins整合:Jenkins目前還沒有直接可以使用的cpplint的外掛可用,所以這裡我們使用一個warnings plug-in來收集cpplint的資訊並report出來。
  3. 安裝: 選擇外掛Warnings Plug-in並安裝。
  4. 配置:
       a. 在job頁面,增加windows batch command。用cpplint來檢查檔案,並把結果同時輸出到控制檯和cpplint-result.xml檔案。因為cpplint的返回值會是1,所以重置下返回值。否則任務總顯示失敗。(必須輸出到控制檯,因為外掛是解析控制檯輸出來得到報告)