dmesg方法目录 - KPTest框架开放资料

Skip to content

# dmesg方法目录

1. get_white_list
> 描述：

    1
    2
    3

    方法功能：获取当前host的白名单

    命令格式：

> 参数：

    1

> 返回值：

    1

    white_list    (list): 当前host的白名单

> 异常：

    1

    None

> 举例：

    1

2. save_dmesg_to_file
> 描述：

    1
    2
    3

    方法功能：获取筛选的dmesg -t信息并将内容存储到/opt/<file_name>中

    命令格式：dmesg -t > /opt/<file_name>

> 参数：

    1

    file_name    (str): 存储的文件名称

> 返回值：

    1

    file_path    (str): 存储的文件的绝对路径

> 异常：

    1

    KPTestException("存储dmesg的文件名称不能为空!")

> 举例：

    1

3. get_dmesg
> 描述：

    1
    2
    3

    方法功能：通过key_list获取筛选的dmesg信息，如果参数为None则返回原始的dmesg信息

    命令格式：dmesg -t | grep -E -i 'error', 'fail', 'warn'

> 参数：

    1

    key_list    (list): 筛选关键字，当为None则不筛选

> 返回值：

    1
    2

    result      (str) : 原始返回的字符串
    lines       (list): 原始字符串根据换行符转换的列表

> 异常：

    1

    KPTestException("输入参数必须为列表!")

> 举例：

    1

4. check_dmesg
> 描述：

    1
    2
    3

    方法功能：检查打印日志是否正常

    命令格式：dmesg -t | grep -E -i 'error', 'fail', 'warn'

> 参数：

    1
    2
    3
    4

    dmesg       (str) : 日志列表，待检测是否有问题的日志；若为None，则获取当前系统的dmesg -t"日志
    is_raise    (bool): 为True时，白名单过滤后仍有异常日志将抛出异常，否则返回异常日志信息
    key_list    (list): 筛选关键字，当为None则不筛选
    numa        (bool): 系统NUMA是否为打开状态，打开为True，关闭为False

> 返回值：

    1
    2

    result      (bool): Ture if not errors else False
    log_info    (list): 存在异常的日志信息

> 异常：

    1
    2

    KPTestException("Error log found in current dmesg:
    %s" % log_info)

> 举例：

    1

5. check_dmesg_change
> 描述：

    1
    2
    3

    方法功能：检查host或kvm中dmesg的last和now之间的区别

    命令格式：

> 参数：

    1
    2
    3

    last          (tuple): 某测试步骤之前的dmesg信息
    now           (tuple): 某测试步骤之后的dmesg信息
    is_reboot     (bool) : OS是否重启过

> 返回值：

    1

    err           (str)  : 新增的dmesg错误信息

> 异常：

    1
    2

    KPTestException(f"{local}系统{self.host}日志中有错误信息")
    KPTestException(f"{local}系统{self.host}日志中有新错误信息")

> 举例：

    1
    2
    3
    4
    5

    last = self.host.dmesg.get_dmesg(dm_filter)
    ...some operations...
    now = self.host.dmesg.get_dmesg(dm_filter)
    self.host.dmesg.check_dmesg_change(last, now)
    self.host.dmesg.check_dmesg_change(last, now, is_reboot=True)