3

C++ プロジェクトで CMake/CTest と共に CDash を使用します。

CDash を有効にして "MEMORYCHECK_SUPPRESSIONS_FILE""DART_TESTING_TIMEOUT " などの設定をカスタマイズするために、ルートCMakeLists.txtに次の行を追加しました。


set(MEMORYCHECK_SUPPRESSIONS_FILE "${CMAKE_SOURCE_DIR}/valgrind.supp")
set(DART_TESTING_TIMEOUT "120")
include(CTest)


ただし、生成された「DartConfiguration.tcl」には設定がまったく含まれていません (MemoryCheckSuppressionFile は空で、TimeOut はデフォルト値のままです)。

たとえば、 -DDART_TESTING_TIMEOUT=STRING:120 を渡すと機能することがわかりましたが、CMakeLists.txt で指定すると失敗します。

前もって感謝します :)

DartConfiguration.tcl




# Dynamic analisys and coverage
PurifyCommand:
ValgrindCommand:
ValgrindCommandOptions:
MemoryCheckCommand: /usr/bin/valgrind
MemoryCheckCommandOptions:
MemoryCheckSuppressionFile:
CoverageCommand: /usr/bin/gcov

# Testing options
# TimeOut is the amount of time in seconds to wait for processes
# to complete during testing.  After TimeOut seconds, the
# process will be summaily terminated.
# Currently set to 25 -9.0.0.71596-0inutes
TimeOut: 1500


4

1 に答える 1

3

次の 3 つの解決策があります。

  1. キャッシュ変数を作成します。これにより、変数の GUI エントリも作成されますが、これは常に自動テストに必要なものではありません。SET(DART_TESTING_TIMEOUT "120" CACHE STRING "")

  2. オプションは単純な「set」コマンドで指定しますが、メインの CMakeLists.txt ではなく DartConfig.cmake というファイルで指定します。このファイルは、DartConfiguration.tcl を作成するために解析されます。

  3. CTest スクリプトを使用して dartclient をセットアップします: http://www.cmake.org/Wiki/CMake_Scripting_Of_CTest

于 2011-02-03T15:40:36.087 に答える