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>>>