2010-02-02 6 views

Répondre

24

Comme ceci:

file(GLOB files "fixtures/*.ext") 
foreach(file ${files}) 
    ... calculate ${i} to get the test name 
    add_test(validate_${i}, "validator", ${file}) 
endforeach() 

Mais cela ne calcule pas i pour vous. Est-il important que vous ayez un suffixe entier pour le test? Sinon, vous pouvez utiliser file(...) pour extraire le nom de fichier (sans extension) à utiliser.

5

Vous avez besoin de enable_testing pour activer les machines de test de CMake. La fonction add_test nécessite le nom du test et la commande à exécuter et la syntaxe est la suivante. Pour ajouter un compteur, vous pouvez utiliser la fonction math(). Ce qui suit vous permettra également de manquer de sources en spécifiant le chemin complet vers les entrées.

cmake_minimum_required(VERSION 2.6) 
enable_testing() 

file(GLOB files "${CMAKE_CURRENT_SOURCE_DIR}/fixtures/*.ext") 
set(validator ${CMAKE_CURRENT_SOURCE_DIR}/validator) 
set(i 0) 
foreach(filename ${files}) 
    add_test(NAME "validate_${i}" 
     COMMAND "${validator}" ${filename}) 
    math(EXPR i "${i} + 1") 
endforeach() 
Questions connexes