No momento, estou usando ctest
para executar testes escritos com o Estrutura de captura . Eu gostaria de poder filtrar quais testes eu executei com base nas tags Catch internas; Por exemplo, gostaria de evitar facilmente que testes com tags [FUTURE]
sejam executados.
Para um único executável de teste, ignorando ctest
, isso é simples:
myTestName '~[FUTURE]'
Mas não vejo como passar o argumento '~[FUTURE]'
para os testes Catch via ctest
. Este deve ser possível --test-command
, mas (1) --test-command
não parece fazer nada sem --build-and-test
(que não é o que eu quero) e (2) isso aparentemente só funciona para um teste de cada vez, o que também não é o que eu quero (eu só quero correr ctest
no meu projeto inteiro).
Eu poderia usar apenas ctest -N
para obter os nomes dos testes a serem executados e, em seguida, executar os testes sozinho, mas não sei de nenhuma maneira de obter o caminho de arquivo de teste de ctest
, execute find
em todos os nomes de teste e, nesse momento, estou basicamente implementando meu próprio test runner.
P.S. Não há tags existentes para ctest
ou a estrutura de teste Catch, e eu não tenho o representante para criá-las. Não tenho certeza de que outras tags se aplicariam aqui. Estou usando somente a tag cmake
porque ctest
é parte de cmake
.
Tags cmake