跳转到主要内容

方便地向ResultsDB报告的模块

项目描述

# resultsdb_conventions

resultsdb_conventions是一个Python库,用于表示报告测试结果到[ResultsDB][1]的各种约定。它允许您轻松报告结果,而无需大量样板代码,并且可以相对有信心ResultsDB元数据将与相同基本性质的其他结果保持一致。

## 安装

resultsdb_conventions软件包可在Fedora和[EPEL][2] 7存储库中使用。核心包是python2-resultsdb_conventions,而fedora模块在包python2-resultsdb_conventions-fedora中。对于其他发行版或如果您想使用git代码,您可以通过某种方式将库提供给您的消费者,或者要全局安装库,只需运行sudo python setup.py install。您还需要cached-property库,如果您想使用Fedora约定,则需要fedfind库(这两个库都已为Fedora和EPEL打包)。实际上提交结果时,您需要来自resultsdb_api模块的ResultsDBapi类。

resultsdb_conventions旨在与Python 2.6+和当前Python 3兼容。如果您发现兼容性问题,请报告错误。

## 使用

使用resultsdb_conventions的最简单方法是选择一个最接近您希望提交的结果类型的Result子类,使用合适的参数实例化它,获取一个ResultsDBapi的实例,并运行report()方法。这将应用结果的‘默认’元数据(基于结果类型和实例化时使用的参数),并将其提交到您获取API实例的任何一个ResultsDB。所有的Result子类都应该记录它们所需和可选的参数。

对于对提交结果的简单修改,您可以在获取实例后但在运行report()之前简单地调整extradata属性(它只是一个字典,包含任意字符串键值对,直接传递给ResultsDB并按原样存储)。您还可以通过在实例化结果类时将组字典或UUID字符串的可迭代对象作为groups参数,或者在直接调整实例的groups属性来使结果添加到更多组。

对于更复杂的行为变更,您当然可以从最相关的类开始创建一个子类,然后根据需要调整。子类实现的重要约定在Result类中有文档记录。如果您的子类可能对您的项目以外的项目有用,您可能希望提交一个pull请求,以便其他项目可以方便地根据相同的约定报告结果。

已经包含了一个简单的验证机制,但目前没有任何包含的类实现了任何重大的验证。验证的目的是强制执行正在编码的约定,而不是对结果在ResultsDB术语下的有效性进行基本检查;ResultsDB将拒绝任何明显的无效提交。请考虑为您提交的任何pull请求实现验证。

## 错误、pull请求等。

您可以在Pagure上的[cite]resultsdb_conventions项目[3]中提交问题或pull请求。

## 致谢

Jan Sedlak和Josef Skladanka贡献了宝贵的灵感、想法和审阅。

## 许可证

resultsdb_conventions可在GPL版本3或任何更高版本下使用。副本包含在COPYING中。

[1]: https://fedoraproject.org/wiki/ResultsDB [2]: https://fedoraproject.org/wiki/EPEL [3]: https://pagure.io/taskotron/resultsdb_conventions

项目详情


下载文件

下载您平台上的文件。如果您不确定要选择哪个,请了解更多关于安装包的信息。

源代码发行版

resultsdb_conventions-3.0.2.tar.gz (26.7 kB 查看哈希值)

上传时间 源代码

构建发行版

resultsdb_conventions-3.0.2-py3-none-any.whl (25.1 kB 查看哈希值)

上传时间 Python 3

由以下支持