我必须编辑一个 python 文件,以便在每个 if 条件之后,我需要添加一行,上面写着
if condition_check:
if self.debug == 1: print "COVERAGE CONDITION #8.3 True (condition_check)"
#some other code
else:
if self.debug == 1: print "COVERAGE CONDITION #8.4 False (condition_check)"
#some other code
数字 8.4(通常是 yx)指的是这个 if 条件在函数编号 8(y) 中(这些函数只是顺序数字,8 没什么特别之处)并且 x 是第 y 个函数中的第 x 个 if 条件。
当然,要添加的行必须添加适当的缩进。condition_check 是被检查的条件。
例如:
if (self.order_in_cb):
self.ccu_process_crossing_buffer_order()
变成:
if (self.order_in_cb):
if self.debug == 1: print "COVERAGE CONDITION #8.2 TRUE (self.order_in_cb)"
self.ccu_process_crossing_buffer_order()
我如何实现这一目标?
额外背景:我有大约 1200 行 python 代码和大约 180 个 if 条件 - 我需要查看在执行 47 个测试用例期间是否满足每个 if 条件。换句话说,我需要进行代码覆盖。复杂性是 - 我正在使用 cocotb 刺激进行 RTL 验证。结果,没有直接的方法来驱动刺激,所以我看不到使用标准 coverage.py 测试覆盖率的简单方法。有没有办法以其他方式检查覆盖范围?我觉得我错过了什么。