帮助对autodesk maya的代码进行基准测试
revl的Python项目详细描述
revl是一个python库,它帮助对Autodesk Maya的代码进行基准测试。
在为maya编写一段代码时,了解它是如何 在不同条件下执行,例如在大型场景中 或者小的,定义一个深的dag层次结构或一个平面层次结构,使用多个节点 类型或只有少数,等等。
以下是用户提供的命令集,revl可以伪随机生成 具有不同属性的玛雅场景 可以观察到的代码。
过程的随机性也有助于通过 暴露没想到的边缘案例,因此也是一个很好的工具 对于单元测试。见Wikipedia’s Fuzzing page。
注意,revl不提供任何类型的分析工具来度量 表演。内置的^{tt1}$模块以及其他开源的 包可以用于此目的。
功能
- 通过运行给定总次数的命令生成场景。
- 精确控制每个命令的概率分布。
- 场景生成可以使用固定种子进行复制。
- 可扩展的自定义命令。
- 允许模糊测试。
- 快速(使用maya的api,而不是命令层)。
用法
>>>importrevl>>>commands=[...(4.0,revl.createTransform,),...(1.0,revl.createPrimitive,(),{'parent':True}),...]>>>count=100>>>revl.run(commands,count,seed=1.23)
在这个例子中,revl总共调用了100个不平等共享的计算。 在两个不同的命令之间,导致近似地创建。 80%的变换,20%的原语(加上它们相关的变换)。 另外,原语类型是随机选取的,每个原语的变换是 在场景中的另一个变换下随机设置父对象,可能会创建 具有深度DAG层次的场景。
有关更详细的示例,请参见文档中的Tutorial部分 以及如何使用revl的说明。
文档
在线阅读revl.readthedocs.io上的文档或签入其源代码 doc目录。