获取错误:无法加载交叉规则(无效的规则类型或文件不存在)

时间:2015-11-10 14:05:15

标签: python static-analysis parasoft

我正在尝试在Parasoft规则向导中添加另一个自定义规则中的自定义规则。

以下代码是作为方法放置在调用规则中的python代码段:

def somePythonMethod(node, context): 
   parent = context.getParentContext() 
   result = parent.executeRule("my_rule.rule", node) 

运行分析时检索到的错误:

unable to load cross rule (invalid rule type or file does not exist)

后面是指向规则路径的链接,确实存在。 因此,我认为问题与规则类型有关。

此错误的来源是什么?

1 个答案:

答案 0 :(得分:1)

paraoft docos建议使用以下内容:

   enf = node.getEnforcer()
   filename = node.getProperty("filename")
   line = node.getLine()
   col = node.getColumn()
   enf.executeRuleEx('./my.rule', node, filename, int(line), int(col))

不同之处在于您在执行者上调用executeRuleEx()而不是父节点。对OP来说显然太迟了,但它可能会帮助其他人在将来提出同样的问题。