跳转到主要内容

关于Python版本的Taskotron检查

项目描述

这代表在Fedora基础设施中任何包构建后发生的自动检查。

目前可用的检查如下

  • 是否一个包不需要同时使用Python 2和Python 3;

  • 是否包名遵循Python包命名规范;

  • 是否包在需求名称中使用版本化的Python前缀;

  • 是否仅Python 2版本的包包含可执行文件;

  • 是否包在源代码层面支持Python 3,但在包中不支持;

  • 是否包需要/usr/bin/python(或python-unversioned-command)。

运行中

要在本地运行此任务,请以root用户执行以下命令(不要在生产机器上执行!)

$ ansible-playbook tests.yml -e taskotron_item=<nevr>

其中 nevr 是 Koji 构建的一个 name-(epoch:)version-release 标识符。

例如

$ ansible-playbook tests.yml -e taskotron_item=python-gear-0.11.0-1.fc27

您可以在 ./artifacts/ 目录中查看结果。

您也可以在 mock 中运行上述命令

$ mock -r ./mock.cfg --init
$ mock -r ./mock.cfg --copyin taskotron_python_versions *.py tests.yml /
$ mock -r ./mock.cfg --shell 'ansible-playbook tests.yml -e taskotron_item=python-gear-0.11.0-1.fc27'
$ mock -r ./mock.cfg --copyout artifacts artifacts

测试

此任务包含功能测试和集成测试。您可以使用 tox 运行它们,但需要安装 mockpython3-rpmpython3-dnf。有关 mock 配置说明,请参阅 mock 设置 指令。使用以下命令运行测试套件

$ tox

集成测试可能需要一段时间才能执行,因为它们在 mock 中运行实际的任务。但是,在开发过程中,您可以通过重复使用上次测试运行的结果来加快它们的执行速度。如果您修改了测试本身,而没有更改任务检查的实现,这很有用。使用以下命令以假模式运行集成测试

$ tox -e integration -- --fake

测试也在 Travis CI 上执行。由于 Travis CI 在 Ubuntu 上运行,而 Ubuntu 缺少 RPM Python 绑定和 mock,因此使用 Docker 在 Fedora 上运行测试。您也可以在 Docker 中运行测试,只需使用 .travis.yml 文件中的命令即可。

许可证

此代码已贡献给公共领域,它使用 CC0 1.0 无限制公共领域承诺 许可,许可证全文可在本存储库中的 LICENSE 文件中找到。

请注意,此存储库中用于测试的 RPM 软件包有自己的许可条款,并且没有贡献给公共领域。

您可以通过在 Koji 中搜索软件包名称并选择适当的版本来找到这些软件包的源代码。

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定要选择哪个,请了解更多关于 安装包 的信息。

源代码分发

taskotron-python-versions-0.1.dev6.tar.gz (6.0 MB 查看哈希值)

上传时间 源代码

构建分发

taskotron_python_versions-0.1.dev6-py3-none-any.whl (21.2 kB 查看哈希值)

上传于 Python 3

支持