您使用什么来自动测试 Debian 软件包安装和更新?

Pyt*_*ner 5 debian installation testing packages automated

我正在为 Wheezy 和自定义软件包使用 Debian 存储库(基于 reprepro)。我不时修改我的自定义包并在不同的系统上手动测试它们,例如:

  • 测试 a) 安装新版 Debian 软件包
  • 测试 b) 在已安装相同 Debian 软件包的旧版本的系统上更新 Debian 软件包
  • 测试 c) 卸载新版 Debian 软件包

通常,我在不同的服务器上运行这些测试。

由于自定义 Debian 软件包的数量在不断增长,手动测试过程消耗了我越来越多的时间。

所以我正在寻找一个现有的自动化测试框架。此外,如果这个测试框架支持在容器/虚拟机内部运行这些测试(例如使用快照,所以我们可以一遍又一遍地重新开始),那就太好了。此外,我希望在测试完成后收到一份完整的报告。

我知道我不是这个星球上唯一一个寻找这样一种工具的人。但是,使用 Google 和此站点上的搜索功能没有发现任何解决方案。我找到了“自动测试”,但我不确定这个工具是否适合我。

那么 - 您使用什么来自动测试 Debian 软件包安装和更新?

请注意,我不是在寻找测试包构建的工具(例如 Jenkins、Hudson)。

如果这个问题与 serverfault 上已经存在的条目重复,我很抱歉。如果是这种情况,如果您能将我指向正确的页面,我会很高兴。

编辑:debian 项目似乎完全使用了我正在寻找的内容:

编辑 #2:似乎 debci 正是我正在寻找的(见上面的链接)。我将看看这个工具并在这里分享我的经验。不过,如果您能分享您为此特定目的使用的工具,我会很高兴。

Axe*_*ert 3

您正在寻找的工具是piuparts,而不是debci

debci 用于在“已安装”条件下运行包的测试套件,因此也检查安装。但它不会在安装失败时报告红色“失败”,它只会报告黄色警告“临时失败”,例如,当 zsh 在 BinNMU 之后变得不可卸载时。请参阅DEP 8了解此类测试套件的外观描述。

piuparts 比较检查软件包安装、删除和升级是否成功、修改的“conffiles”和剩余文件。请访问https://piuparts.debian.org/查看所有官方 Debian 软件包的 piuparts 结果。

不过,如果您的软件包中至少有一个具有符合 DEP-8 的测试套件,您可能希望在您的软件包上同时运行 debci 和 piuparts。