这是参考此question。我检查了我们的测试界面,我们只是将V93k主要参数传递给test_suites.add方法。
V93K_PRIMARIES = [:lev_equ_set, :lev_spec_set, :timset, :tim_equ_set, :tim_spec_set, :seqlbl, :levset]
primary_tm_params = {}.tap do |primary_hash|
V93K_PRIMARIES.each do |param|
primary_hash[param] = tm_params.delete(param) unless tm_params[param].nil?
end
end
# Create the test suite
t = test_suites.add(test_name, primary_tm_params)
t.test_method = test_methods.amd93k.send(options[:tm].to_sym, tm_params)
V93K_PRIMARIES.each do |primary|
t.send("#{primary}=", primary_tm_params[primary]) unless primary_tm_params[primary].nil?
end
# Insert the test into the flow
test(t, tm_params)
当我设置断点时,我确实看到它们丢失了。他们在更新代码之后:
:ip=>:L2,
:testmode=>:speed,
:cond=>:pmax,
:if_failed=>:cpu_pmin,
:testtype=>:cpu,
:test_ip=>:bist,
:tm=>"Bist"}
这是原始问题中原始两个测试生成的.tf文件:
run_and_branch(cpu_L2_speed_pmin_965EA18)
then
{
}
else
{
@CPU_PMIN_965EA18_FAILED = 1;
}
if @CPU_PMIN_965EA18_FAILED == 1 then
{
run(cpu_L2_speed_pmax_965EA18);
}
else
{
}
我认为我们已经弄清楚了,非常感谢!
答案 0 :(得分:1)
通常的方法是将所有内容传递给flow.test
,而不是从流中传递的选项的子集。
它只会对它识别的选项起作用,它们基本上是流控制参数(:id,:if_failed,:unless_enabled等)以及测试和bin编号参数,它只会忽略其余的。