Запуск только одного теста с CMake + make - PullRequest
0 голосов
/ 12 января 2019

Если у меня есть куча тестов для моего проекта, я могу запустить их - после cmake ing и make ing для сборки, сборка - с make test.

Но что, если я хочу запустить только один из моих тестов? То есть один из предметов, для которого у меня есть add_test() в тестах CMakeFile.txt?

1 Ответ

0 голосов
/ 12 января 2019

Вероятно, вас смущали две вещи:

  1. Вы пытались сделать это с make, так как make test выполняет все тесты для вас. Это не будет работать для одного теста; используйте ctest.
  2. Если вы начали использовать ctest, например, в вашем основном каталоге проекта вы, вероятно, получили что-то вроде:

    *********************************
    No test configuration file found!
    *********************************
    Usage
    
      ctest [options]
    

    что не помогло.

  3. ... Итак, вы подумали: «Хорошо, может быть, у него есть переключатель -C, как у CMake и Make» - и действительно, у него есть переключатель -C! но это не сделало то, что вы ожидали:

    [joeuser:/home/joeuser/src/myproj]$ ctest -C build
    Test project /home/joeuser/src/myproj
    No tests were found!!!
    

Что вам действительно нужно сделать:

  cd $YOUR_BUILD_DIRECTORY
  ctest -R name_of_your_test

(обратите внимание, что -R соответствует регулярному выражению.) Это должно работать. Обратите внимание, что вы можете перечислять тесты, которые нужно запустить, а не запускать их, передав -N ctest.


Спасибо @RT Цывареву за то, что он указал мне правильное направление

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...