0.4 测试环境

示例在下列持续集成(CI)上进行过测试:

CI服务的配置文件可以在示例库中找到( https://github.com/dev-cafe/cmake-cookbook/ ):

  • Travis的配置文件为travis.yml
  • Appveyor的配置文件为.appveyor.yml
  • CircleCI的配置文件为.circleci/config.yml
  • Travis和Appveyor的其他安装脚本,可以在testing/dependencies文件夹中找到。

NOTE:GNU/Linux系统上,Travis使用CMake 3.5.2和CMake 3.12.1对实例进行测试。macOS系统上用CMake 3.12.1进行测试。Appveyor使用CMake 3.11.3进行测试。Circle使用CMake 3.12.1进行测试。

测试机制是一组Python脚本,包含在testing文件夹中。脚本collect_tests.py将运行测试并报告它们的状态。示例也可以单独测试,也可以批量测试;collect_tests.py接受正则表达式作为命令行输入,例如:

  1. $ pipenv run python testing/collect_tests.py 'chapter-0[1,7]/recipe-0[1,2,5]'

该命令将对第1章和第7章的示例1、2和5进行测试。输出的示例如下:

0.4 测试环境 - 图1

要获得更详细的输出,可以设置环境变量VERBOSE_OUTPUT=ON

  1. $ env VERBOSE_OUTPUT=ON pipenv run python testing/collect_tests.py 'chapter-*/recipe-*'