跳转至

19 时间戳更新

特性描述

首次处理设备事件后,生成初始时间戳,并继承在后续的数据库中。如果时间戳被清除,则生成新的时间戳再继承下去。

特性约束

子场景 1

测试数据库文件不存在,以当前系统时间戳作为时间戳

备注

1、devmaster的配置文件如下

# cat /etc/devmaster/config.toml
rules_d = ["/tmp/test/rules.d"]
log_level = "info"

2、测试使用的sda、sr0、ens33设备仅限于本机,观测点的b8\:0、b11\:0是sda和sr0设备对应的名称,根据自己的环境自行替换

3、关于时间戳、进程号信息,具体根据自己的回显结果为准,表格仅显示当时测试的结果

准备工作

创建规则文件/tmp/test/rules.d/01-test.rules:

KERNEL=="sda", ENV{test}="test_val"

启动devmaster

# devmaster &

测试步骤

查看当前时间,有预期结果1

# date +%s

触发sda的change事件,刷新数据库中的初始时间戳

# devctl trigger /dev/sda

查看sda的数据库内容,有预期结果2

# cat /run/devmaster/data/b8\:0

结果验证

预期结果1:回显一个时间戳(1691483563) 预期结果2:存在“I:1691483568”,其值与预期结果1回显的时间戳略大一点(中间执行命令消耗掉的时间)

测试结束

无,子场景2基于当前结果进行测试。

测试场景约束

子场景 2

测试数据库已存在,继承已有的时间戳

备注

同子场景1的备注。

准备工作

在上一行测试后的前提下: 修改规则文件/tmp/test/rules.d/01-test.rules:

KERNEL=="sda", ENV{test}="test_val_new"

重启devmaster

# devmaster &

测试步骤

触发sda的change事件

# devctl trigger /dev/sda

查看sda的数据库内容,有预期结果1

# cat /run/devmaster/data/b8\:0

结果验证

预期结果1:存在“E:test=test_val_new”,存在“I:1691483568”,与上一行cat /run/devmaster/data/b8\:0查询到的“I:1691483568”一致

测试结束

# rm -rf /run/devmaster/data/b8\:0
# rm -rf /tmp/test/rules.d/01-test.rules

测试场景约束

子场景2需要基于子场景1的结果进行测试。


最后更新: November 4, 2023
创建日期: August 23, 2023