test_ids config可以作为块允许检查来测试元数据吗?

时间:2018-05-08 20:43:35

标签: origen-sdk

我看到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

THX!

1 个答案:

答案 0 :(得分:1)

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

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

请在test_ids插件中查看allocate方法: 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

进行中