1. 支持AssignTag规则,验证结果如下:
# Description: test AssignTag
# Trigger: devctl trigger /dev/sda
# Expect: Capture stdout from command '/bin/echo test AssignTag 1 tag1': 'test AssignTag 1 tag1'
KERNEL=="sda", TAG+="tag1", PROGRAM=="/bin/echo test AssignTag 1 $env{TAGS}"
# Description: test AssignTag
# Trigger: devctl trigger /dev/sda
# Expect: Capture stdout from command '/bin/echo test AssignTag 2 tag2': 'test AssignTag 2 tag2'
KERNEL=="sda", TAG="tag2", PROGRAM=="/bin/echo test AssignTag 2 $env{TAGS}"
# Description: test AssignTag, if operator is remove, remove the tag from current_tags but keep that in all_tags.
# Trigger: devctl trigger /dev/sda
# Expect: Capture stdout from command '/bin/echo test AssignTag 3 tag3:tag2 tag3': 'test AssignTag 3 tag3:tag2 tag3'
KERNEL=="sda", TAG+="tag3", TAG-="tag2", PROGRAM=="/bin/echo test AssignTag 3 $env{TAGS} $env{CURRENT_TAGS}"
  1. 修改exts/devmaster/tests/test_devmaster_rules.sh,测试过程中屏蔽udev规则,避免udevd执行规则造成干扰。