powershell — запуск тестов в Appveyor с C ++ без инфраструктуры тестирования

В настоящее время мы настроили наши тесты на Travis Ci, используя встроенный в CMakes CTest, который просто проверяет, int main() возвращает что-то еще, чем 0.

Теперь мы хотели бы добавить функциональность тестирования в наши автоматизированные сборки Windows в Appveyor, сохраняя при этом эту простую проверку возвращаемого значения.

Каждый ресурс для тестирования Appveyors, который мы обнаружили до сих пор, предполагает, что мы используем какую-то среду тестирования, такую ​​как MSTest, что мы не собираемся делать.

Я обнаружил, что вы можете запускать пользовательские сценарии тестирования CMD и Powershell в Appveyor, что звучит как идеальный способ проверить возвращаемое значение нашего теста.
К сожалению, мы все довольно неопытны, используя CMD и Powershell, и понятия не имеем, как этого добиться.

Для справки, это рассматриваемый проект: JNF_NEAT

4

Решение

Вы также можете использовать Cmake и Make для Windows. Cmake по умолчанию устанавливается на рабочую ВМ сборки, make должен быть добавлен перед сборкой. Вот appveyor.yml, который я создал, пытаясь заставить его работать:

install:
# Install make for Windows unsing chocolatey
- ps: choco install make

build_script:
# Use the same commands which is used in .travis.yml
- cmake -DCMAKE_CXX_COMPILER=g++-6 CMakeLists.txt

# make fails here now
- make
- make test

# Start RDP access to connect and debug
on_finish:
- ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))

Cmake, казалось, работал, в то время как сделать не удалось. Я не очень знаком с этими инструментами, но я считаю, что вы можете начать отсюда, чтобы настроить его. Я также добавил оператор для создания сеанса RDP, чтобы вы могли подключаться и отлаживать его из сборщика.

Спасибо,

Илья.

1

Другие решения

мы создали наш .appveyor.yml как это:

test_script:
- C:\projects\jnf-neat\x64\Release\XORSolver.exe
- C:\projects\jnf-neat\x64\Release\EvenNumbers.exe

где XORSolver.exe а также EvenNumbers.exe наши интеграционные тесты, которые мы уже использовали для запуска на CMake.

0