Control file specification

该篇主要介绍control文件的标准.该标准主要为了使自定义的control文件能够提供前端或测试所需要的信息,并且能够通过前端修改. 主要内容:

  • 命名control文件
  • 常用变量
  • 示例

control文件命名

control文件命名必须是control.xxxx,xxxx是你定义或则代码评审定义. 例如,500次硬重启测试,一个正规的定义就是 control.hard500

常用变量

下面是一个常用变量的列表

变量名 描述
*AUTHOR 测试编写的个人或公司信息
DEPENENCIES 测试依赖信息,比如"CONSOLE"
*DOC 描述测试包括哪些参数的说明
EXPERIMENTAL 如果定义为True,测试忽略
*NAME 前端识别测试的名称
RUN_VERIFY 定义scheduler是否执行验证,默认为True
SYNC_COUNT 次数,接受大于等于1的参数,默认为1
*TIME 说明测试时长, SHORT<15m, MEDIUM < 4H ,LONG >4H
TEST_CLASS 描述类属于类型,如内核.硬件
TEST_CATEGORY 描述测试的类型,如压力,功能
*TEST_TYPE 测试类型:client server

标*是每个control文件的必填.并且提供一个脚本用于检查utils/check_control_file_vars.py

AUTHOR(必填)

设计者的信息是必填,用来后续追踪测试和修改bug,邮箱地址是必须的.

DEPENDENCIES(可选,默认:none)

相关性是描述你需要运行测试什么类型硬件的一种方式。 依赖是说,比如你需要测试蓝牙:

DEPENDENCY =“bluetooth”

其中, Bluetooth是在自动测试创建并已添加到一台机器,自动测试或者通过CLI或Django管理界面的确切标签。

DOC(必需)

文档需要说明测试项测试时需要的条件,确认测试正常运行.以及如果进行调整和修改.同时def execute()调用的参数代表什么含义.

EXPERIMENTAL(可选默认:False)

如果设置,前端会忽略这些测试生产自动测试服务器测试导入过程。

NAME(必需) 指定的名字,前端会用来显示,这对于不同测试文件为了同一测试的不同验证需求非常有用.

RUN_VERIFY(可选,默认TRUE)

用来定义scheduler是否进行验证

SYNC_COUNT(可选默认1)  1代表的是可以异步执行,大于1代表需同步执行 如果一个测试需要两台机器,SYNC_COUNT=2.autotest就会判断是否满足条件 例如,发布向23台机器发布任务,单只有22个可以执行,单独的那个会失败.

TIME(Required)

测试需要的时间,不包括设置时间.

Time Description
SHORT 小于15分钟
MEDIUM 少于4H
LONG 大于4H

TEST_CATEGORY(必需)

定义测试属于哪一类 例如 功能性或压力

TEST_CLASS(必需)  xxxx描述类类型的测试。 如果你有不同类型的要过滤的测试,这是非常有用的。 如果一个测试中加入一个TEST_CLASS,前端如果不存在这个类,就要补充这个类。 示例测试类 内核 硬件

TEST_TYPE

这个要告诉前端什么类型的测试.有效值是server或client.

示例

TIME ='MEDIUM'
AUTHOR = 'Scott Zawalski ( scott@xxx.com )'
TEST_CLASS = 'Hardware'
TEST_CATEGORY = 'Functional'
NAME = 'Hard Reboot'
SYNC_COUNT = 1
TEST_TYPE = 'server'
TEST_CLASS = 'Hardware'
DEPENDCIES = 'POWER, CONSOLE'

DOC = """
Tests the reliability of platforms when rebooted. This test allows
you to do a hard reboot or a software reboot.

Args:
type: can be "soft" or "hard", default is "hard"
e.g. job.run_test('reboot', machine, type="soft")
This control file does a HARD reboot
"""

def run(machine):
job.run_test('reboot', machine, type="hard")
parallel_simple(run, machines)

Top^

上一篇Autotest:Autotest-client control>>> 下一篇Autotest:Autotest-add test>>>

by 李鹏