步驟 6:新增對測試儀表板的支援

新增對將我們的測試結果提交到儀表板的支援很簡單。我們已經在 測試支援 中為我們的專案定義了許多測試。現在我們只需要執行這些測試,並將它們提交到 CDash。

練習 1 - 將結果發送到測試儀表板

目標

在 CDash 中顯示我們的 CTest 結果。

有用的資源

要編輯的檔案

  • CMakeLists.txt

開始使用

對於這個練習,請完成最上層 CMakeLists.txt 中的 TODO 1,方法是包含 CTest 模組。這將啟用 CTest 的測試,以及提交到 CDash 的儀表板,因此我們可以安全地移除對 enable_testing() 的呼叫。

我們還需要取得一個 CTestConfig.cmake 檔案,並將其放置在最上層目錄中。執行時,ctest 可執行檔將讀取此檔案以收集有關測試儀表板的資訊。它包含:

  • 專案名稱

  • 專案「Nightly」的開始時間

    • 此專案 24 小時「天」的開始時間。

  • CDash 實例的 URL,提交產生的文件將發送到該實例

在本教學中,使用了公共儀表板伺服器,並且此步驟的根目錄中為您提供了對應的 CTestConfig.cmake 檔案。實際上,此檔案會從專案在 CDash 實例上「設定」頁面下載,該實例旨在託管測試結果。從 CDash 下載後,不應在本地修改此檔案。

CTestConfig.cmake
set(CTEST_PROJECT_NAME "CMakeTutorial")
set(CTEST_NIGHTLY_START_TIME "00:00:00 EST")

set(CTEST_DROP_METHOD "http")
set(CTEST_DROP_SITE "my.cdash.org")
set(CTEST_DROP_LOCATION "/submit.php?project=CMakeTutorial")
set(CTEST_DROP_SITE_CDASH TRUE)

建置並執行

請注意,作為 CDash 提交的一部分,您的開發系統的一些資訊(例如網站名稱或完整路徑名稱)可能會公開顯示。

要建立一個簡單的測試儀表板,請執行 cmake 可執行檔或 cmake-gui 來設定專案,但先不要建置它。相反地,請導覽至建置目錄並執行

ctest [-VV] -D Experimental

請記住,對於多設定產生器(例如 Visual Studio),必須指定設定類型

ctest [-VV] -C Debug -D Experimental

或者,從 IDE 中,建置 Experimental 目標。

ctest 可執行檔將建置專案、執行任何測試,並將結果提交到 Kitware 的公共儀表板:https://my.cdash.org/index.php?project=CMakeTutorial

解決方案

在此步驟中,唯一需要變更的 CMake 程式碼是透過在我們的最上層 CMakeLists.txt 中包含 CTest 模組,來啟用將儀表板提交到 CDash 的功能

TODO 1:點擊以顯示/隱藏答案
TODO 1: CMakeLists.txt
include(CTest)