用于创建常青配置的库
shrub.p的Python项目详细描述
swush.py——一个基于python的常青项目配置生成库
概述
py基于shrub,是一个程序化的 构建常青项目配置描述here。
示例
以下代码段将创建一组在单个显示任务下报告的并行任务。IT
将生成由generate.tasks
:
n_tasks = 10
c = Configuration()
task_names = []
task_specs = []
for i in range(n_tasks):
name = "aggregation_multiversion_fuzzer_{0:03d}".format(i)
task_names.append(name)
task_specs.append(TaskSpec(name))
t = c.task(name)
t.dependency(TaskDependency("compile")).commands([
CommandDefinition().function("do setup"),
CommandDefinition().function("do multiversion setup"),
CommandDefinition().function("run jstestfuzz").vars({
"jstestfuzz_var": "--numGeneratedFiles 5",
"npm_command": "agg-fuzzer",
}),
CommandDefinition().function("run tests").vars({
"continue_on_failure": "false",
"resmoke_args": "--suites=generational_fuzzer",
"should_shuffle": "false",
"task_path_suffix": "false",
"timeout_secs": "1800",
})
])
dt = DisplayTaskDefinition("aggregation_multiversion_fuzzer")\
.components(task_names)
c.variant("linux-64").tasks(task_specs).display_task(dt)
c.to_json()
运行测试
pip install tox
tox