浅谈Tox之二

本文分享自天翼云开发者社区《浅谈Tox之二》,作者:Moonriver

 

1. 配置

加载tox.ini并将其与命令行和操作系统环境变量中的选项合并。

2. 包装(可选)

通过调用python setup.py sdist创建当前项目的源代码版本库。 注意对于此操作,Python环境将与安装tox时的相同(因此需要确保tox包含构建依赖项)。对于没有setup.py的应用程序项目,跳过此步骤。 

 

rally_openstack/tox.ini  

minversion 定义运行所需的最低版本。

skipsdist = false(true | false) 指示是否执行打包操作的标志。当将tox用于应用程序而不是库时,设置为true。

envlist(逗号分隔值) 确定要使用tox的环境列表是按以下顺序进行的(如果找到了,则不再进行任何查找) 

3. 环境

环境创建——创建一个新的环境,默认情况下使用virtualenv。 tox会使用环境名称(例如表示Python 2.7的py27和basepython配置值)和当前的操作系统PATH值来自动尝试查找有效的Python解释器版本。

install(可选)——安装deps配置部分中指定的环境依赖项,然后安装较早打包的源代码。

commands——以指定的顺序运行指定的命令。 

 

测试环境由以下方式定义:

 [testenv:NAME]

commands = ... testenv默认部分:

[testenv]

commands = ... 

extras(MULTI-LINE-LIST)

与sdist一起安装或进行开发安装的“附加”列表。

setenv(MULTI-LINE-LIST)

每行包含一个NAME = VALUE环境变量设置,该设置将用于所有测试命令调用以及将sdist软件包安装到虚拟环境中。

PYTHONHASHSEED的特殊处理

默认情况下,tox将测试命令的PYTHONHASHSEED设置为调用tox时生成的随机整数。可以在tox.ini中覆盖每个测试环境的哈希种子值。 whitelist_externals(MULTI-LINE-LIST)

将非virtualenv命令列入白名单,避免警告。 

deps(MULTI-LINE-LIST)

在项目创建前安装到虚拟环境中的环境依赖项。

install_command=python -m pip install {opts} {packages}(ARGV)

将软件包安装到虚拟环境中; 被测软件包及其依赖项(由deps定义)。 

usedevelop=false(true|false)

使用“setup.py develop”以开发模式安装当前软件包,而不是从sdist安装。 

commands(ARGVLIST) 

用于测试的命令。每行被解释为一个命令,命令将按顺序逐个执行,直到其中之一失败(它们的退出代码为非零)或全部成功为止。注意:虚拟环境的二进制路径(位于其中的bin文件夹)位于os PATH之前。 

basepython(NAME-OR-PATH)

用于创建虚拟环境的Python解释器的名称或路径,确定将创建虚拟隔离环境的python。

passenv(SPACE-SEPARATED-GLOBNAMES)

执行测试命令时,应将环境变量通配符名称列表从tox调用环境复制到测试环境。如果在tox调用环境中不存在指定的环境变量,则将其忽略。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/891083.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

重塑团队协作:从混乱到高效的团队管理工具指南

设计团队管理工具是一个复杂但至关重要的任务,它要求工具能够满足团队在项目管理、协作、沟通、资源分配和进度跟踪等方面的需求。以下是一些设计团队管理工具时应考虑的关键因素以及推荐的团队管理工具: 设计团队管理工具的关键因素 ● 明确目标与角色分工:工具应支持将团队…

TCP IP 网络协议基础

TCP IP 简介可见 TCP/IP 被分为 4 层,每层承担的任务不一样,各层的协议的工作方式也不一样,每层封装上层数据的方式也不一样:应用层:应用程序通过这一层访问网络,常见 FTP、HTTP、DNS 和 TELNET 协议; 传输层:TCP 协议和 UDP 协议; 网络层:IP 协议,ARP、RARP 协议,…

机械图纸文章标题搜索增强实现过程

机械图纸文章标题搜索增强实现过程 1. 为什么需要使用搜索增强技术机械图纸标题搜索的挑战:机械图纸标题通常包含专业术语、缩写和特定格式(如“土豆分拣机 DWG-001 不锈钢”)。 用户查询可能模糊或表述不同(如“马铃薯筛选机”),传统搜索难以匹配语义相似的标题。 标题信…

煎熬中的二代基因测序

提到基因测序,绝大多数人第一印象就是二代测序。的确,一代Sanger测序弊端太多,三代单分子测序和四代纳米孔测序(生物纳米孔和固态纳米孔)刚刚崭露头角,且有一些问题仍待解决(比如微电流信号精准捕捉、1-3nm原子级纳米孔开孔等)。综合来看,一代Sanger如英雄迟暮、三四代…

智能驾驶辅助系统ADAS

经纬恒润将更高性能的800W像素摄像头、先进的视觉EQ6方案、成熟的控制算法进行了优势组合,推出了全新一代的前视单目摄像头解决方案。经纬恒润智能驾驶辅助系统ADAS新方案旨在更好的应对市场ADAS性能提升与成本压力的博弈,寻找L2+自动驾驶功能升级的最优解。 随着L2+自…

基于 Trae Claude-3.7 从0到1 打造加密货币钱包Dompet-App

从0到1:用Trae Claude-3.7打造加密货币钱包Dompet-App📱 项目介绍 大家好!今天我要分享如何使用强大的AI助手Trae Claude-3.7,从零开始构建一款功能丰富的加密货币钱包应用——Dompet-App。无论你是区块链爱好者还是移动开发新手,这个项目都能让你快速掌握React Native开…

国产化FMC接口通用计算平台设计原理图:2367-基于FMQL45T900 FMC接口通用计算平台

一、板卡概述 板卡由 FMQL45T900I芯片来完成卡主控及数字信号处理, FMQL45T900内部集成了两个ARM Cortex-A9核和一个kintex 7的FPGA,通过PL端FPGA扩展FMC、光纤、IO等接口,PS端ARM扩展网络、USB、RS232等接口。板卡适应于图像处理、震动、通信、雷达等前端信号处理或者手持机…

.NET 10 首个预览版发布,跨平台开发与性能全面提升

前言 2024年2月25日,微软正式推出 .NET 10 预览版 1,标志着这一跨平台开发框架迈入新里程碑。 本次更新聚焦 JIT 编译器优化、运行时性能提升和跨平台开发体验增强,同时引入多项开发者期待的功能改进。 无论是服务端应用、移动开发,还是桌面程序,.NET 10 都展现了强大的技…

uniapp app端弹窗提示 代码块

前提:uniapp的app端,用uni自带的toast,icon会自占一行,很丑 如图: 利用 plus.nativeUI.toast 显示正常大小的iconplus.nativeUI.toast(e,{type: text,duration: short,style: "inline",align: center,verticalAlign: center,icon: "/static/images/icon/su…

极验4

极验4demo aHR0cHM6Ly9ndDQuZ2VldGVzdC5jb20v 本文章中所有内容仅供学习交流使用,不用于其他任何目的,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 第一个接口逆向参数搜索captcha_id可以找到生成位置,可以看到challenge就是一个uuid继续搜索captcha…

安川焊接机器人维修的重要性

在现代工业制造领域,焊接机器人扮演着极为重要的角色。其中,安川焊接机器人以其高精度、高效率和稳定性而备受青睐。然而,如同任何设备一样,安川机器人也会面临故障,这就凸显了安川机器人维修的重要性。一、安川机器人故障的常见类型1. 机械故障 - 安川焊接机器人的机械…