2010-08-23 9 views
2

Je vais utiliser CDash avec CMake/CTest sur mon projet C++.En utilisant CMake avec CTest et CDash

Afin de permettre CDash et personnaliser les paramètres, comme "MEMORYCHECK_SUPPRESSIONS_FILE", "DART_TESTING_TIMEOUT", j'ai ajouté les lignes suivantes dans la racine CMakeLists.txt

 

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

 

Cependant , le produit « DartConfiguration.tcl » ne contient pas mes paramètres du tout (MemoryCheckSuppressionFile est vide et TimeOut est toujours la valeur par défaut)

Je trouve que, par exemple, si je passe -DDART_TESTING_TIMEOUT = STRING: 120, cela fonctionne, mais il échoue si les spécifiant dans le CMakeLists.txt.

Merci d'avance :)

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 

 

Répondre

2

Il existe trois solutions possibles:

  1. Vous créez des variables de cache. Cela crée également une entrée de GUI pour la variable, qui n'est pas toujours ce que vous voulez pour le test automatique:

  2. Vous spécifiez vos options avec une commande "set" simple, mais dans un fichier appelé DartConfig.cmake au lieu du principale CMakeLists.txt. Ce fichier est analysé pour créer le DartConfiguration.tcl

  3. Vous utilisez les scripts CTest pour configurer votre dartclient: http://www.cmake.org/Wiki/CMake_Scripting_Of_CTest

Questions connexes