CheckBox Navigation(三)Checkbox tutorials

Checkbox

Checkbox tutorials

Note

如果你计划为Ubuntu核心系统开发测试,或者计划打包你的测试,请参见为Ubuntu核心测试创建一个自定义checkbox应用程序

1. Creating an empty provider

checkbox提供程序是包含如何运行测试的信息的包。

要创建一个空提供程序,运行:

$ checkbox-cli startprovider --empty com.example:myprovider

Checkbox -cli是运行Checkbox的命令,——empty通知checkbox您想从头开始。
com.example:myprovider是提供程序的名称。提供者使用 IQN 命名,它有助于跟踪提供者的所有权。

checkbox作业是描述如何运行测试的任务。
这些作业在提供程序的“units”目录中的***.pxu文件中定义。

我们刚刚创建的provider没有这个目录,让我们创建它:

$ cd com.example\:myprovider
$ mkdir units
2. Adding a simple job to a provide

作业大致遵循RFC822语法。
即大多数内容遵循关键:价值模式。

让我们添加一个运行命令的简单作业。

在提供程序的units目录中打开任何.pxu文件(如果没有,就创建一个,如units.pxu)。
并增加以下内容:

id: my-first-job
flags: simple
command: mycommand

id用于标识目的,flags可以启用额外的特性。
simple的情况下,它允许我们不指定所有典型的字段——checkbox将为我们推断一些值。
command要运行的命令。这是mycommand

为了让作业在checkbox中可见,它们必须包含在某些测试计划中。
让我们在同一个.pxu文件中添加一个测试计划定义。

unit: test plan
id: first-tp
name: My first test plan
include: my-first-job

Warning
.pxu文件中被分隔的实体必须用至少一个空行分隔。

3. Running jobs from a newly created provider

为了让checkbox看到提供程序,我们必须安装它。运行:

$ sudo ./manage.py install

现在我们准备好启动checkbox了!使用以下命令启动命令行版本:

$ checkbox-cli

请按照屏幕上的说明操作。测试将(可能)失败,因为您的系统中缺少mycommand。让我们改变工作的定义,做一些有意义的事情。打开units.pxu,并改变线路:

command: mycommand
# 或
command: [ `df -B 1G --output=avail $HOME |tail -n1` -gt 10 ]
Note

这个命令检查$HOME中是否至少有10GB的可用空间

这个更改目前还不能使用,因为我们的系统中仍然安装了一个旧版本的提供者。让我们删除以前的版本,并安装新的。

$ sudo rm -rf /usr/local/lib/plainbox-providers-1/com.example\:myprovider/
$ sudo ./manage.py install

这个sudo操作(希望如此)对您来说是危险的。请参阅下一部分,了解如何避免这种情况。

4. Developing provider without constantly reinstalling it

你可以让checkbox直接从你要修改的地方读取它,而不是每次你都要重新安装它。

$ ./manage.py develop

因为现在checkbox可能会看到同一提供程序的两个实例,所以请确保删除前一个实例。

Note

./manage.py develop不需要sudo,因为它会在用户家里引用所有的引用。

5. Improving job definition

当您运行checkbox时,您会看到作业显示为“my-first job”,这是作业的id,这对人类不是很友好。这是因为这个simple的标志。让我们改进一下我们的工作定义。打开units.pxu并将工作定义替换为:

id: my-first-job
_summary: 10GB available in $HOME
_description:
    this test checks if there's at least 10gb of free space in user's home
    directory
plugin: shell
estimated_duration: 0.01
command: [ `df -B 1G --output=avail $HOME |tail -n1` -gt 10 ]

New stuff:

_summary: 10GB available in $HOME

摘要显示在选择作业的checkbox屏幕中。这是一种对人类友好的工作识别。它应该很短(50 - 70个字符),因为它是在一行中打印的。_表示在开头表示该字段是可翻译的。

_purpose:
    this test checks if there's at least 10gb of free space in user's home
    directory

Purpose ,顾名思义,应该描述测试的目的。

plugin: shell

插件告诉checkbox什么样的工作是它。shell意味着它是一个自动测试,运行命令并使用它的返回代码来确定作业的结果。

estimated_duration: 0.01

告知checkbox测试预期运行多长时间。此字段目前仅提供信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值