Origen-SDK/test_ids

Error message seems to indicate improper config?

Closed this issue · 1 comments

Hi,

Here is the error message I get

    42:         i = 0
    43:         until @pointer
    44:           v = @store[i]
    45:           if v
    46:             binding.pry
 => 47:             if after == v || (v.is_a?(Range) && after >= v.min && after <= v.max)
    48:               @pointer = i
    49:               @next = after
    50:             elsif after < min_val(v)
    51:               @pointer = previous_pointer(i)
    52:               @next = min_val(v) - 1

[1] pry(#<TestIds::BinArray>)> after
=> {"include"=>{"<<"=>"5..16"}}
[2] pry(#<TestIds::BinArray>)> v
=> 5..16
[3] pry(#<TestIds::BinArray>)> after == v || (v.is_a?(Range) && after >= v.min && after <= v.max)
TypeError: no implicit conversion of Fixnum into Hash
from (pry):3:in `>='

Here is my config:

[1] pry(#<AmdTest::Interface>)> TestIds.current_configuration
=> #<TestIds::Configuration:0x002b9698480210
 @allocator=#<TestIds::Allocator:0x002b96984801e8 @config=#<TestIds::Configuration:0x002b9698480210 ...>>,
 @bins=
  #<TestIds::Configuration::Item:0x002b96984801c0
   @exclude=#<TestIds::BinArray:0x002b9698480148 @store=[]>,
   @include=#<TestIds::BinArray:0x002b9698480198 @store=[5..16]>,
   @size=1>,
 @id=:ws1,
 @numbers=
  #<TestIds::Configuration::Item:0x002b9698480008 @exclude=#<TestIds::BinArray:0x002b9698477e58 @store=[]>, @include=#<TestIds::BinArray:0x002b9698477ea8 @store=[]>, @size=1>,
 @send_to_ate=false,
 @softbins=
  #<TestIds::Configuration::Item:0x002b96984800d0
   @algorithm="bbxxx",
   @exclude=#<TestIds::BinArray:0x002b9698480058 @store=[]>,
   @include=#<TestIds::BinArray:0x002b96984800a8 @store=[]>,
   @size=1>,
 @validated=true>

The error occurs on the last test in the flow where I am passing in :none for the binning params:

 :bin=>:none,
 :softbin=>:none,
 :number=>:none,

Any ideas?

OK, I had been playing with my config so I decided to remove the test_ids dir in the imports and re-ran and no issue. I also figured out a workaround for having test metadata configure the hardbin. I set my hardbin config to a range that covers any hardbin I want to assign and then assigned at the test level.

scan test_type, ip: ip, cond: cond, bin: dut.scan.hbin(test_type, dut.current_test_insertion)

I will still pursue a longer term solution but this looks to get me going.