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运行它们,但是 您需要安装mockpython3-rpmpython3-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通过搜索 程序包名称并选择适当的版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何将java ArrayList对象转换为实际值   web服务如何在JAVA类uisng JAXBElement中解组SOAP UI值   包含无值参数的java HttpClient表单URL   运行简单Camel Restlet演示项目的java问题?   带有自定义图标的java简单SWT警报消息?   java Netbeans 6.8:LibImport可以工作,但编译时“包不存在”   java如何获得绘画完成的通知?   java Hazelcast客户端模式群集故障后如何恢复?   Neo4J中Shapefile的java批插入   为什么ThreadPoolExecutor在Eclipse和从命令行运行Java程序时表现不同?   java在Android中计算两个坐标之间的距离时得到了荒谬的值   java在CardLayout中显示卡本身的下一张卡