0

这是参考这个问题。我检查了我们的测试接口,我们只将 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
      {
      }

我想我们已经弄清楚了,非常感谢!

4

1 回答 1

1

解决这个问题的正常方法是将所有内容传递给flow.test,而不是从流中传递的选项的子集。

它只会对它识别的选项起作用,这些选项基本上是流控制参数(:id、:if_failed、:unless_enabled 等)以及测试和 bin 编号参数,它会忽略其余的。

于 2017-09-10T08:57:05.767 回答