0

我计划在我的测试程序中迭代 $dut 模型的许多属性和各种测试条件。我正在测试一个非常简单的流程,并且收到有关重复测试 ID 的错误。

Flow.create do |options|

  [:pmin, :pmax].each do |cond|
    bist :mbist, ip: :cpu, testmode: :hr, cond: cond, id: :hr
  end

end

这是错误:

[ERROR]      64.198[0.193]   || Test ID hr_965EA18 is defined more than once in flow ws1:
[ERROR]      64.199[0.001]   ||   /users/user/origen/ppekit/program/components/_bist.rb:4
[ERROR]      64.199[0.000]   ||   /users/user/origen/ppekit/program/components/_bist.rb:4

我想我希望这可以工作,但是当我查看测试程序生成器文档时,我没有看到循环示例,只有条件。我确实看到了可重复使用的流程片段的概念,但这似乎最适合可重复的测试序列,而不是仅迭代 ad-hoc。

问候

4

1 回答 1

0

您的代码扩展为:

bist :mbist, ip: :cpu, testmode: :hr, cond: :pmin, id: :hr
bist :mbist, ip: :cpu, testmode: :hr, cond: :pmax, id: :hr

这意味着您有两个带有 ID 的测试:hr,这是不允许的,因为 ID 必须是唯一的。

要么考虑您是否真的需要 ID,除非您在与另一个测试的条件执行关系中引用此测试,否则您可能不需要,或者更新您的代码以生成唯一 ID:

[:pmin, :pmax].each do |cond|
  bist :mbist, ip: :cpu, testmode: :hr, cond: cond, id: "hr_#{cond}"
end
于 2017-09-01T07:47:41.093 回答