taskotron检查python版本
taskotron-python-versions的Python项目详细描述
这表示在软呢帽中发生的自动检查 任何包构建之后的基础设施。
目前提供以下检查:
- 一个包是否不需要同时使用python 2和python 3 时间;
- 包名称是否遵循python包命名方案;
- 包是否在需求名称中使用版本化的python前缀;
- 是否只有Python2版本的包包含可执行文件;
- 包是否在其可执行文件中使用版本化的shebang;
- 包是否支持Python3上游但不在包中;
- 包是否需要/usr/bin/python(或python-unversioned-command)。
运行
要在本地运行此任务,请以根用户身份执行以下命令(不要执行此操作 在生产机器上!):
$ 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 setup 说明。使用以下命令运行测试套件:
$ tox
集成测试可能需要一段时间才能执行,因为它们是 模拟运行实际任务。但是,为了发展你可以 通过重用前一次测试运行的结果来加快速度。 如果修改测试本身而不更改 执行任务检查。使用以下命令运行 假模式下的集成测试:
$ tox -e integration -- --fake
测试也在Travis CI上执行。 因为travis ci在ubuntu上运行 ubuntu缺少rpm python绑定和mock, ^使用{a4} 在Fedora上运行测试。你也可以在Docker中运行测试, 只需使用.travis.yml文件中的命令。
许可证
此代码已专用于公共域,它的许可证是 CC0 1.0 Universal Public Domain Dedication, 许可证的全文可在下面的许可证文件中找到 储存库。
请注意,此存储库中用于测试的RPM包 有自己的许可条款,不属于公共领域。
这些包裹的来源可以在 Koji通过搜索 程序包名称并选择适当的版本。