穷人的农场
sivart的Python项目详细描述
一个穷人建造的农场。
什么?
在不同系统上测试程序安装和测试步骤的工具。
怎么做?
架构、安装步骤和测试脚本在 配置文件,由sivart处理以运行各种异常 具有所述配置的框,然后进行测试。
安装
查看.sivart.yml了解详细步骤,但基本上需要 一个工作的virtualbox和:
pip install sivart
跑步:
python -m sivart --help
格式
sivart的输入是一个列有配置的yaml文件,如下所示:
my_config: box: box_url_or_id install: - step0 - step1 script: - step0 - step1
box字段是一个有效的流浪者框标识符,install字段 包含作为root运行的命令,script字段包含命令 以vagrant用户身份运行。
随着配置数量的增加,可以使用facets来存储公共配置 元素:
.shared: install: - step0 - step1 script: - step0 - step1 .config0: using: - .shared box: box0 .config1: using: - .shared box: box1
这使得在32位和64位计算机上执行相同的步骤变得很容易,因为 实例。
最后,还有一个env配置来测试各种参数,例如。 各种编译器:
.env0: env: - CC=gcc CXX=g++ - CC=clang CXX=clang++ .env1: env: - CFLAGS=-O1 - CFLAGS=-O2 - CFLAGS=-O3 run: using: - env0 - env1 script: - $CC $CFLAGS hello.c
这对组合的笛卡尔积运行$CC $CFLAGS hello.c。 在.env0和.env1中。
此外,还可以使用前缀为%的外部变量,如:
.cflags: env: - CC=gcc CXX=g++ CXXFLAGS=%CXXFLAGS CFLAGS=%CFLAGS - CC=clang CXX=clang++ CXXFLAGS=%CXXFLAGS CFLAGS=%CFLAGS
从命令行设置这个变量!
查看examples/*以获取更多…示例!
为什么?
因为我需要一种自动化的方法来测试pythran编译器 体系结构(32/64位)、各种os 和各种分布。