4

我们目前已经使用 CMakes 集成的 CTest 在 Travis Ci 上设置了测试,它只检查int main()返回的值是否不是 0。

我们现在想在 Appveyor 中为我们的自动化窗口构建添加测试功能,同时仍然保持这个简单的返回值检查。

到目前为止,我们发现的每个 Appveyors 测试资源都假设我们正在使用某种测试框架,例如 MSTest,我们不打算这样做。

我发现您可以在 Appveyor 上运行自定义 CMD 和 Powershell 测试脚本,这听起来是检查我们测试返回值的理想方式。
不幸的是,我们都缺乏使用 CMD 和 Powershell 的经验,也不知道如何实现这一点。

作为参考,这是有问题的项目:JNF_NEAT

4

2 回答 2

1

您也可以使用 Cmake 和 Make for Windows。Cmake 默认安装在 build worker 虚拟机上,make 应该在 build 之前添加。这是我在尝试使其工作时创建的 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 似乎工作,而 make 失败。我对那些工具不是很熟悉,但我相信你可以从这里开始调优。我还添加了创建 RDP 会话的语句,以便您能够从构建工作程序进行连接和调试。

谢谢,

伊利亚。

于 2016-09-20T04:43:32.207 回答
0

我们像这样设置我们的.appveyor.yml

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

我们已经用来在 CMake 上运行的集成测试在哪里XORSolver.exe以及在哪里。EvenNumbers.exe

于 2016-11-11T11:59:05.533 回答