Советы по кодированию по вторникам — это короткие посты о различных лакомых кусочках, в основном из C++, но также и из других языков программирования, которые я использую. Вы также можете следить за хэштегом #TuesdayCodingTips на Mastodon и Linkedin.

CMake может делать много вещей, и инструментирование вашего набора тестов — одна из них. Используйте add_test, чтобы сообщить cmake, что он должен запустить определенную команду с заданными параметрами. Если он возвращает ноль, это удалось. Вы можете использовать его, чтобы просто запустить двоичный файл testrunner или создать матрицу входных параметров, которые, как ожидается, не приведут к сбою программы.

cmake_minimum_required ( VERSION 3.26 )

project ( testrunner )
add_executable ( ${PROJECT_NAME} Main.cpp )

enable_testing()
add_test(
   NAME "Example with no params"
   COMMAND ${PROJECT_NAME}
)

add_test(
   NAME "Example with help param"
   COMMAND ${PROJECT_NAME} -h
)

Чтобы add_test что-то сделать, нужно также вызвать enable_testing(). Запуск тестов — это просто запуск ctest из командной строки. Просто обратите внимание, что ctest требует, чтобы вы указали конфигурацию сборки, если у вас их несколько.