我看到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!
答案 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
进行中