1

我看到 Origen test_ids gem 允许用户将块指定为配置。

TestIds.configure :final_test do |config|
  config.numbers do |bin, softbin|
    (softbin * 10) + bin 
  end
end

是否可以引用传递给测试的任何元数据?例如,以下是我的流文件中的一些测试插入:

func :mytest, mode: :chain
func :mytest, mode: :jtag

这是我想在 TestIds 配置中执行的操作:

TestIds.configure :final_test do |config|
  config.numbers do |test_meta|
    case test_meta[:mode]
    when :chain
      (softbin * 10) + bin
    when :jtag
      (softbin * 20) + bin
    else
      (softbin * 30) + bin
    end
  end
end

谢谢!

4

1 回答 1

1

我会尽力回答你的问题。我第一次在stackoverflow,希望它有意义。如果您有更多问题,请随时给我发电子邮件。

@rchitect-of-info 是的,你可以。test_ids 插件需要进行少量更改才能满足您的需求。

请看这里test_ids插件中的分配方法: https ://github.com/Origen-SDK/test_ids/blob/master/lib/test_ids/allocator.rb#L115

我们需要将流中的选项传递给 allocate_number 方法。

number['number'] ||= allocate_number(bin: bin['number'], softbin: softbin['number'], size: number_size, options: options)
number['size'] ||= number_size

然后,请查看 test_ids 插件中的 allocate_number 方法:

https://github.com/Origen-SDK/test_ids/blob/master/lib/test_ids/allocator.rb#L547

这些回调选项是传递给 config.numbers 的。

要访问您的元数据,您只需在此处传递选项以及 bin 和 softbin:

https://github.com/Origen-SDK/test_ids/blob/master/lib/test_ids/allocator.rb#L548

所以新的回调将是

  elsif callback = config.numbers.callback
    callback.call(bin, softbin, options)

然后您就可以将 TestIds 配置为

TestIds.configure :final_test do |config|
  config.numbers do |bin, softbin, options|
   case options[:mode]
   when :chain
    (softbin * 10) + bin
   when :jtag
    (softbin * 20) + bin
   else
    (softbin * 30) + bin
   end
  end
 end

我正在对 test_ids 进行类似的更新,希望很快可以进行审查。我的分支目前正在https://github.com/priyavadan/test_ids/commits/change_config

于 2018-05-08T22:41:48.283 回答