关于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 运行它们,但需要安装 mock、python3-rpm 和 python3-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-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3969cc7e2ee2ffc9dd14b91937ba27736815cdaa3767d930bd066f84299c74c6 |
|
MD5 | 20b25a303dec3d96635a56c1ced269fe |
|
BLAKE2b-256 | 7928cdf7eb6c6390a79181d186d7b7f58532bb67bf18e27aaa88420baf572a4a |