origen_testers 0.16.1 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7cc2488bf76c9a0e7426660d81b852039e31ec87
4
- data.tar.gz: fce554d775b85dc1131333062fe35183509999ae
3
+ metadata.gz: fd766d675c5dc9794ac28a826929bd9ddca1c602
4
+ data.tar.gz: 6a892c83abbc5fafda9b09cc6a25ff143d704d51
5
5
  SHA512:
6
- metadata.gz: f3a81cfe3b60a8e45384dd3ebdaf0be3b905d24bec48806b857b6370ecf779c1ecf9eb5f2eea039beff1cdc5cbd8856d101e14d5a3646c791b9aefb3777104bd
7
- data.tar.gz: ca85e8716996c3455a11e086cb2f1c2d4468d67550fed53f46b052dd50e3eb28d2993d670d38862c3682b673a81e60da994199da0c56727061d8cd986b2c35e2
6
+ metadata.gz: fed7f00ff4816dc84fa81d977617bad88812e6acdef1bf71c0599e3362077c5f27008f226d1b9aaf4aefb0eb74123f78a63c22eec2c16d8896576a444f7c5546
7
+ data.tar.gz: fa32ef3cec160f14984c94a22f7e2a8b3f2d2790b74582eec54ae4dda37d0c877b84dce979e99189e26e2794b6f7986134c66b07fd6200e61f8732f4234c39e0
@@ -1,7 +1,7 @@
1
1
  module OrigenTesters
2
2
  MAJOR = 0
3
- MINOR = 16
4
- BUGFIX = 1
3
+ MINOR = 17
4
+ BUGFIX = 0
5
5
  DEV = nil
6
6
 
7
7
  VERSION = [MAJOR, MINOR, BUGFIX].join(".") + (DEV ? ".pre#{DEV}" : '')
@@ -7,8 +7,8 @@ module OrigenTesters
7
7
 
8
8
  def initialize
9
9
  @pat_extension = 'digipatsrc'
10
- @capture_started = {}
11
- @source_started = {}
10
+ @capture_history = {}
11
+ @source_history = {}
12
12
  @global_label_export = []
13
13
  @called_subroutines = []
14
14
  @default_capture_wave_name = 'default_capture_waveform'
@@ -17,6 +17,8 @@ module OrigenTesters
17
17
 
18
18
  # Internal method called by Origen
19
19
  def pattern_header(options = {})
20
+ microcode "// source count: #{@source_history[:count]}" if @source_history[:started]
21
+ microcode "// capture count: #{@capture_history[:count]}" if @capture_history[:started]
20
22
  microcode 'file_format_version 1.0;'
21
23
  start_label = "#{options[:pattern]}_st"
22
24
  microcode "export #{start_label};"
@@ -41,7 +43,7 @@ module OrigenTesters
41
43
  # Internal method called by Origen
42
44
  def pattern_footer(options = {})
43
45
  # add capture/source stop to the end of the pattern
44
- cycle microcode: 'capture_stop' if @capture_started[:default]
46
+ cycle microcode: 'capture_stop' if @capture_history[:started]
45
47
  cycle microcode: 'halt'
46
48
  microcode '}'
47
49
  end
@@ -141,15 +143,17 @@ module OrigenTesters
141
143
  cur_pin_state = nil
142
144
  if overlay_options.key?(:pins)
143
145
  overlay_options = { change_data: true }.merge(overlay_options)
144
- unless @source_started[:default]
146
+ unless @source_history[:started]
145
147
  add_microcode_to_first_vec "source_start(#{@default_source_wave_name})"
146
- @source_started[:default] = true
148
+ @source_history[:started] = true
149
+ @source_history[:count] = 0
147
150
  end
148
151
 
149
152
  # ensure no unwanted repeats on the source line
150
153
  options[:dont_compress] = true
151
154
 
152
155
  if overlay_options[:change_data]
156
+ @source_history[:count] += 1
153
157
  if options[:microcode].nil?
154
158
  options[:microcode] = 'source'
155
159
  else
@@ -169,10 +173,11 @@ module OrigenTesters
169
173
 
170
174
  # internal method to avoid needless code duplication
171
175
  def add_capture_start(pins, options = {})
172
- unless @capture_started[:default]
176
+ unless @capture_history[:started]
173
177
  # add the capture start opcode to the top of the pattern
174
178
  add_microcode_to_first_vec "capture_start(#{@default_capture_wave_name})"
175
- @capture_started[:default] = true
179
+ @capture_history[:started] = true
180
+ @capture_history[:count] = 0
176
181
  end
177
182
  end
178
183
 
@@ -182,8 +187,11 @@ module OrigenTesters
182
187
  options = { offset: 0 }.merge(options)
183
188
  pins = pins.flatten.compact
184
189
 
190
+ repeat_count = options[:repeat].nil? ? 1 : options[:repeat]
191
+
185
192
  fail 'For the PXIE6570 you must supply the pins to store/capture' if pins.empty?
186
193
  add_capture_start pins, options
194
+ @capture_history[:count] += repeat_count
187
195
 
188
196
  pins.each { |pin| pin.save; pin.capture }
189
197
  preset_next_vector(microcode: 'capture') do
@@ -203,6 +211,11 @@ module OrigenTesters
203
211
  response = super(pin)
204
212
  response.sub('C', 'V')
205
213
  end
214
+
215
+ # warn but don't fail if an api for another platform is not yet implemented
216
+ def method_missing(m, *args, &block)
217
+ Origen.log.warn "#{m} is not yet implemented for LabVIEWBasedTester::Pxie6570"
218
+ end
206
219
  end
207
220
  end
208
221
  Pxie6570 = LabVIEWBasedTester::Pxie6570
@@ -16,6 +16,18 @@ module OrigenTesters
16
16
  functional_test: {
17
17
  test_name: [:string, 'Functional'],
18
18
  output: [:string, 'None', %w(None ReportUI ShowFailOnly)]
19
+ },
20
+ spec_search: {
21
+ max: [:string, nil],
22
+ method: [:string, nil],
23
+ min: [:string, nil],
24
+ output: [:string, 'None', %w(None ReportUI ShowFailOnly)],
25
+ resolution: [:string, ''],
26
+ result_pin_list: [:string, ''],
27
+ setup_pin_list: [:string, ''],
28
+ spec: [:string, nil],
29
+ step: [:string, nil],
30
+ test_name: [:string, 'SpecSearch_Test']
19
31
  }
20
32
  }
21
33
 
@@ -170,10 +170,9 @@ module OrigenTesters
170
170
  # @api private
171
171
  def _if_dut
172
172
  if dut
173
- true
173
+ yield
174
174
  else
175
175
  Origen.log.warning 'It looks like you are calling tester.set_timeset before the DUT is instantiated, you should avoid doing that until the dut object is available'
176
- false
177
176
  end
178
177
  end
179
178
 
@@ -1,7 +1,7 @@
1
1
  Flow.create do |options|
2
2
 
3
3
  if_enable 'additional_erase', :or => options[:force] do
4
- func :erase_all
4
+ func :erase_all, number: options[:number]
5
5
  end
6
6
 
7
7
  end
@@ -12,14 +12,18 @@ Flow.create do |options|
12
12
  # Define default options
13
13
  options = { :pulses => 4,
14
14
  :post_verify => true,
15
+ :number => 0,
15
16
  }.merge(options)
16
17
 
17
- options[:pulses].times do
18
- func :erase_all
18
+ number = options[:number]
19
+
20
+ options[:pulses].times do |i|
21
+ func :erase_all, number: number
22
+ number += i * 10
19
23
  end
20
24
 
21
25
  if options[:post_verify]
22
- import 'erase_vfy'
26
+ import 'erase_vfy', number: number
23
27
  end
24
28
 
25
29
  end
@@ -1,5 +1,5 @@
1
1
  Flow.create do |options|
2
2
 
3
- func :margin_read1_all1
3
+ func :margin_read1_all1, number: options[:number]
4
4
 
5
5
  end
@@ -1,5 +1,5 @@
1
1
  Flow.create interface: 'OrigenTesters::Test::BasicInterface' do
2
2
 
3
- functional :test1, sbin: 100
3
+ functional :test1, sbin: 100, number: 20000
4
4
 
5
5
  end
@@ -1,215 +1,218 @@
1
1
  Flow.create do |options|
2
2
  # Instantiate tests via the
3
3
  # interface
4
- func 'program_ckbd', :tname => 'PGM_CKBD', :tnum => 1000, :bin => 100, :soft_bin => 1100
5
- func 'margin_read1_ckbd'
4
+ func 'program_ckbd', tname: 'PGM_CKBD', tnum: 1000, bin: 100, soft_bin: 1100
5
+ func 'margin_read1_ckbd', number: 1010
6
6
 
7
7
  # Control the build process based on
8
8
  # the current target
9
9
  if $dut.has_margin0_bug?
10
- func 'normal_read_ckbd'
10
+ func 'normal_read_ckbd', number: 1020
11
11
  else
12
- func 'margin_read0_ckbd'
12
+ func 'margin_read0_ckbd', number: 1030
13
13
  end
14
14
 
15
15
  # Include a sub flow, example of
16
16
  # parameter passing
17
- import '../erase', :pulses => 6
17
+ import '../erase', pulses: 6, number: 2000
18
18
 
19
19
  # Render an ERB template, or raw
20
20
  # text file
21
21
  if $tester.j750?
22
- flow.render 'templates/j750/vt_flow', :include_tifr => true
22
+ flow.render 'templates/j750/vt_flow', include_tifr: true
23
23
  end
24
24
 
25
25
  log 'Should be v1'
26
- func :program_ckbd
26
+ func :program_ckbd, number: 3000
27
27
  log 'Should be v2'
28
- func :program_ckbd, :duration => :dynamic
28
+ func :program_ckbd, duration: :dynamic, number: 3010
29
29
  log 'Should be v1'
30
- func :program_ckbd
30
+ func :program_ckbd, number: 3020
31
31
  log 'Should be v2'
32
- func :program_ckbd, :duration => :dynamic
32
+ func :program_ckbd, duration: :dynamic, number: 3030
33
33
 
34
34
  log 'Should be a v1 test instance group'
35
- func :program_ckbd, :by_block => true
35
+ func :program_ckbd, by_block: true, number: 3040
36
36
  log 'Should be a v2 test instance group'
37
- func :program_ckbd, :by_block => true, :duration => :dynamic
37
+ func :program_ckbd, by_block: true, duration: :dynamic, number: 3050
38
38
  log 'Should be a v1 test instance group'
39
- func :program_ckbd, :by_block => true
39
+ func :program_ckbd, by_block: true, number: 3060
40
40
  log 'Should be a v2 test instance group'
41
- func :program_ckbd, :by_block => true, :duration => :dynamic
41
+ func :program_ckbd, by_block: true, duration: :dynamic, number: 3070
42
42
 
43
43
  # Test job conditions
44
- func :p1_only_test, :if_job => :p1
44
+ func :p1_only_test, if_job: :p1, number: 3080
45
45
  if_job [:p1, :p2] do
46
- func :p1_or_p2_only_test
46
+ func :p1_or_p2_only_test, number: 3090
47
47
  end
48
- func :not_p1_test, :unless_job => :p1
49
- func :not_p1_or_p2_test, :unless_job => [:p1, :p2]
48
+ func :not_p1_test, unless_job: :p1, number: 3100
49
+ func :not_p1_or_p2_test, unless_job: [:p1, :p2], number: 3110
50
50
  unless_job [:p1, :p2] do
51
- func :another_not_p1_or_p2_test
51
+ func :another_not_p1_or_p2_test, number: 3120
52
52
  end
53
53
 
54
54
  log 'Verify that a test with an external instance works'
55
- por
55
+ por number: 3130
56
56
 
57
57
  log 'Verify that a request to use the current context works'
58
- func :erase_all, :if_job => :p1 # Job should be P1
59
- func :erase_all, :context => :current # Job should be P1
58
+ func :erase_all, if_job: :p1, number: 3140 # Job should be P1
59
+ func :erase_all, context: :current, number: 3150 # Job should be P1
60
60
  unless_job :p2 do
61
- func :erase_all, :context => :current # Job should be P1
62
- func :erase_all # Job should be !P2
61
+ func :erase_all, context: :current, number: 3160 # Job should be P1
62
+ func :erase_all, number: 3170 # Job should be !P2
63
63
  end
64
64
 
65
65
  # Deliver an initial erase pulse
66
- func :erase_all
66
+ func :erase_all, number: 3180
67
67
 
68
68
  # Deliver additional erase pulses as required until it verifies, maximum of 5 additional pulses
69
+ number = 3200
69
70
  5.times do |x|
70
71
  # Assign a unique id attribute to each verify so that we know which one we are talking about when
71
72
  # making other tests dependent on it.
72
73
  # When Origen sees the if_failed dependency on a future test it will be smart enough to inhibit the binning
73
74
  # on this test without having to explicitly declare that.
74
- func :margin_read1_all1, :id => "erase_vfy_#{x}"
75
+ func :margin_read1_all1, id: "erase_vfy_#{x}", number: number
76
+ number += 10
75
77
  # Run this test only if the given verify failed
76
- func :erase_all, :if_failed => "erase_vfy_#{x}"
78
+ func :erase_all, if_failed: "erase_vfy_#{x}", number: number
79
+ number += 10
77
80
  end
78
81
 
79
82
  # A final verify to set the binning
80
- func :margin_read1_all1
83
+ func :margin_read1_all1, number: 4000
81
84
 
82
85
  log 'Test if enable'
83
- func :erase_all, :if_enable => 'do_erase'
86
+ func :erase_all, if_enable: 'do_erase', number: 4010
84
87
 
85
88
  if_enable 'do_erase' do
86
- func :erase_all
89
+ func :erase_all, number: 4020
87
90
  end
88
91
 
89
92
  log 'Test unless enable'
90
- func :erase_all, :unless_enable => 'no_extra_erase'
93
+ func :erase_all, unless_enable: 'no_extra_erase', number: 4030
91
94
 
92
95
  unless_enable 'no_extra_erase' do
93
- func :erase_all
94
- func :erase_all
96
+ func :erase_all, number: 4040
97
+ func :erase_all, number: 4050
95
98
  end
96
99
 
97
- func :erase_all
98
- func :erase_all
100
+ func :erase_all, number: 4060
101
+ func :erase_all, number: 4070
99
102
 
100
103
  log 'Test if_passed'
101
- func :erase_all, :id => 'erase_passed_1'
102
- func :erase_all, :id => 'erase_passed_2'
104
+ func :erase_all, id: 'erase_passed_1', number: 4080
105
+ func :erase_all, id: 'erase_passed_2', number: 4090
103
106
 
104
- func :margin_read1_all1, :if_passed => 'erase_passed_1'
107
+ func :margin_read1_all1, if_passed: 'erase_passed_1', number: 4100
105
108
  if_passed 'erase_passed_2' do
106
- func :margin_read1_all1
109
+ func :margin_read1_all1, number: 4110
107
110
  end
108
111
 
109
112
  log 'Test unless_passed'
110
- func :erase_all, :id => 'erase_passed_3'
111
- func :erase_all, :id => 'erase_passed_4'
113
+ func :erase_all, id: 'erase_passed_3', number: 4120
114
+ func :erase_all, id: 'erase_passed_4', number: 4130
112
115
 
113
- func :margin_read1_all1, :unless_passed => 'erase_passed_3'
116
+ func :margin_read1_all1, unless_passed: 'erase_passed_3', number: 4140
114
117
  unless_passed 'erase_passed_4' do
115
- func :margin_read1_all1
118
+ func :margin_read1_all1, number: 4150
116
119
  end
117
120
 
118
121
  log 'Test if_failed'
119
- func :erase_all, :id => 'erase_failed_1'
120
- func :erase_all, :id => 'erase_failed_2'
122
+ func :erase_all, id: 'erase_failed_1', number: 4160
123
+ func :erase_all, id: 'erase_failed_2', number: 4170
121
124
 
122
- func :margin_read1_all1, :if_failed => 'erase_failed_1'
125
+ func :margin_read1_all1, if_failed: 'erase_failed_1', number: 4180
123
126
  if_failed 'erase_failed_2' do
124
- func :margin_read1_all1
127
+ func :margin_read1_all1, number: 4190
125
128
  end
126
129
 
127
130
  log 'Test unless_failed'
128
- func :erase_all, :id => 'erase_failed_3'
129
- func :erase_all, :id => 'erase_failed_4'
131
+ func :erase_all, id: 'erase_failed_3', number: 4200
132
+ func :erase_all, id: 'erase_failed_4', number: 4210
130
133
 
131
- func :margin_read1_all1, :unless_failed => 'erase_failed_3'
134
+ func :margin_read1_all1, unless_failed: 'erase_failed_3', number: 4220
132
135
  unless_failed 'erase_failed_4' do
133
- func :margin_read1_all1
136
+ func :margin_read1_all1, number: 4230
134
137
  end
135
138
 
136
139
  log 'Test if_ran'
137
- func :erase_all, :id => 'erase_ran_1'
138
- func :erase_all, :id => 'erase_ran_2'
140
+ func :erase_all, id: 'erase_ran_1', number: 4240
141
+ func :erase_all, id: 'erase_ran_2', number: 4250
139
142
 
140
- func :margin_read1_all1, :if_ran => 'erase_ran_1'
143
+ func :margin_read1_all1, if_ran: 'erase_ran_1', number: 4260
141
144
  if_ran 'erase_ran_2' do
142
- func :margin_read1_all1
145
+ func :margin_read1_all1, number: 4270
143
146
  end
144
147
 
145
148
  log 'Test unless_ran'
146
- func :erase_all, :id => 'erase_ran_3'
147
- func :erase_all, :id => 'erase_ran_4'
149
+ func :erase_all, id: 'erase_ran_3', number: 4280
150
+ func :erase_all, id: 'erase_ran_4', number: 4290
148
151
 
149
- func :margin_read1_all1, :unless_ran => 'erase_ran_3'
152
+ func :margin_read1_all1, unless_ran: 'erase_ran_3', number: 4300
150
153
  unless_ran 'erase_ran_4' do
151
- func :margin_read1_all1
154
+ func :margin_read1_all1, number: 4310
152
155
  end
153
156
 
154
157
  log 'Verify that job context wraps import'
155
158
  if_job :fr do
156
- import '../erase'
159
+ import '../erase', number: 5000
157
160
  end
158
161
 
159
162
  log 'Verify that job context wraps enable block within an import'
160
163
  if_job :fr do
161
- import '../additional_erase'
162
- import '../additional_erase', :force => true
164
+ import '../additional_erase', number: 5500
165
+ import '../additional_erase', force: true, number: 5600
163
166
  end
164
167
 
165
168
  log 'Verify that flow.cz works...'
166
- func :margin_read1_all1, :pin_levels => :cz, :cz_setup => 'vbplus_sweep'
169
+ func :margin_read1_all1, pin_levels: :cz, cz_setup: 'vbplus_sweep', number: 5700
167
170
 
168
171
  log 'Verify that flow.cz works with enable words'
169
172
  if_enable 'usb_xcvr_cz' do
170
- func :xcvr_fs_vilvih, cz_setup: 'usb_fs_vil_cz'
171
- func :xcvr_fs_vilvih, cz_setup: 'usb_fs_vih_cz'
173
+ func :xcvr_fs_vilvih, cz_setup: 'usb_fs_vil_cz', number: 5710
174
+ func :xcvr_fs_vilvih, cz_setup: 'usb_fs_vih_cz', number: 5720
172
175
  end
173
176
 
174
- func :xcvr_fs_vilvih, cz_setup: 'usb_fs_vil_cz', if_enable: 'usb_xcvr_cz'
175
- func :xcvr_fs_vilvih, cz_setup: 'usb_fs_vih_cz', if_enable: 'usb_xcvr_cz'
177
+ func :xcvr_fs_vilvih, cz_setup: 'usb_fs_vil_cz', if_enable: 'usb_xcvr_cz', number: 5730
178
+ func :xcvr_fs_vilvih, cz_setup: 'usb_fs_vih_cz', if_enable: 'usb_xcvr_cz', number: 5740
176
179
 
177
180
  log 'Verify that MTO template works...'
178
- mto_memory :mto_read1_all1
181
+ mto_memory :mto_read1_all1, number: 5750
179
182
 
180
183
  if tester.uflex?
181
184
  log 'import statement'
182
- import 'temp'
185
+ import 'temp', number: 5800
183
186
 
184
187
  log 'direct call'
185
188
 
186
- meas :bgap_voltage_meas, tnum: 1050, bin: 119, soft_bin: 2, hi_limit: 45
187
- meas :bgap_voltage_meas1
189
+ meas :bgap_voltage_meas, tnum: 1050, bin: 119, soft_bin: 2, hi_limit: 45, number: 5910
190
+ meas :bgap_voltage_meas1, number: 5920
188
191
  end
189
192
 
190
193
  if tester.j750?
191
- meas :lo_voltage, tnum: 1150, bin: 95, soft_bin: 5
192
- meas :hi_voltage, pins: :hi_v, tnum: 1160, bin: 96, soft_bin: 6
193
- meas :ps_leakage, pins: :power, tnum: 1170, bin: 97, soft_bin: 6
194
+ meas :lo_voltage, tnum: 1150, bin: 95, soft_bin: 5, number: 5920
195
+ meas :hi_voltage, pins: :hi_v, tnum: 1160, bin: 96, soft_bin: 6, number: 5930
196
+ meas :ps_leakage, pins: :power, tnum: 1170, bin: 97, soft_bin: 6, number: 5940
194
197
  end
195
198
 
196
199
  log 'Speed binning example bug from video 5'
197
200
  group "200Mhz Tests", id: :g200 do
198
- test :test200_1
199
- test :test200_2
200
- test :test200_3
201
+ test :test200_1, number: 5950
202
+ test :test200_2, number: 5960
203
+ test :test200_3, number: 5970
201
204
  end
202
205
 
203
206
  group "100Mhz Tests", if_failed: :g200, id: :g100 do
204
- test :test100_1, bin: 5
205
- test :test100_2, bin: 5
206
- test :test100_3, bin: 5
207
+ test :test100_1, bin: 5, number: 5980
208
+ test :test100_2, bin: 5, number: 5990
209
+ test :test100_3, bin: 5, number: 6000
207
210
  end
208
211
 
209
212
  pass 2, if_ran: :g100
210
213
 
211
214
  log 'Test node optimization within an if_failed branch'
212
- func :some_func_test, id: :sft1
215
+ func :some_func_test, id: :sft1, number: 6010
213
216
 
214
217
  if_failed :sft1 do
215
218
  bin 10, if_flag: "Alarm"
@@ -1,6 +1,6 @@
1
1
  Flow.create do |options|
2
2
 
3
- func :pgm_ckbd
4
- func :mrd_ckbd
3
+ func :pgm_ckbd, number: options[:number] + 10
4
+ func :mrd_ckbd, number: options[:number] + 20
5
5
 
6
6
  end
@@ -1,15 +1,15 @@
1
1
  Flow.create do |options|
2
2
 
3
- test :test1, if_enable: :small_flow
4
- test :test2, if_enable: :small_flow
5
- test :test1
6
- test :test1
7
- test :test1
8
- test :test1
9
- test :test1
10
- test :test1
11
- test :test1
12
- test :test1, if_enable: :small_flow
13
- test :test2, if_enable: :small_flow
3
+ test :test1, if_enable: :small_flow, number: options[:number] + 10
4
+ test :test2, if_enable: :small_flow, number: options[:number] + 20
5
+ test :test1, number: options[:number] + 30
6
+ test :test1, number: options[:number] + 40
7
+ test :test1, number: options[:number] + 50
8
+ test :test1, number: options[:number] + 60
9
+ test :test1, number: options[:number] + 70
10
+ test :test1, number: options[:number] + 80
11
+ test :test1, number: options[:number] + 90
12
+ test :test1, if_enable: :small_flow, number: options[:number] + 100
13
+ test :test2, if_enable: :small_flow, number: options[:number] + 110
14
14
 
15
15
  end
@@ -1,6 +1,6 @@
1
1
  Flow.create do |options|
2
2
 
3
- meas :bgap_voltage_meas, tnum: 1050, bin: 119, soft_bin: 2, hi_limit: 45
4
- meas :bgap_voltage_meas1
3
+ meas :bgap_voltage_meas, tnum: 1050, bin: 119, soft_bin: 2, hi_limit: 45, number: options[:number] + 10
4
+ meas :bgap_voltage_meas1, number: options[:number] + 20
5
5
 
6
6
  end
@@ -1,10 +1,10 @@
1
1
  # This flow is used to test custom test method API
2
2
  Flow.create interface: 'OrigenTesters::Test::CustomTestInterface' do
3
3
 
4
- custom :test1
4
+ custom :test1, number: 30000
5
5
 
6
- custom :test2
6
+ custom :test2, number: 30010
7
7
 
8
- custom :test3
8
+ custom :test3, number: 30020
9
9
 
10
10
  end
@@ -8,244 +8,244 @@ Flow.create interface: 'OrigenTesters::Test::Interface', flow_name: "Flow Contro
8
8
  self.resources_filename = 'flow_control'
9
9
 
10
10
  log "Test that if_failed works"
11
- func :read1, id: :t1, bin: 10
12
- func :erase1, if_failed: :t1, bin: 12
11
+ func :read1, id: :t1, bin: 10, number: 50000
12
+ func :erase1, if_failed: :t1, bin: 12, number: 50010
13
13
 
14
14
  log "Test the block form of if_failed"
15
- func :read2, id: :t2, bin: 10
15
+ func :read2, id: :t2, bin: 10, number: 50020
16
16
  if_failed :t2 do
17
- func :erase2
18
- func :erase2
17
+ func :erase2, number: 50030
18
+ func :erase2, number: 50040
19
19
  end
20
20
 
21
21
  log "Test that if_passed works"
22
- func :read1, id: :t3, bin: 10
23
- func :pgm1, if_passed: :t3
22
+ func :read1, id: :t3, bin: 10, number: 50050
23
+ func :pgm1, if_passed: :t3, number: 50060
24
24
 
25
25
  log "Test the block form of if_passed"
26
- func :read2, id: :t4, bin: 10
26
+ func :read2, id: :t4, bin: 10, number: 50070
27
27
  if_passed :t4 do
28
- func :pgm1
29
- func :pgm1
28
+ func :pgm1, number: 50080
29
+ func :pgm1, number: 50090
30
30
  end
31
31
 
32
32
  log "Test that if_ran works"
33
- func :pgm, id: :t5, bin: 10
34
- func :read0, if_ran: :t5
33
+ func :pgm, id: :t5, bin: 10, number: 50100
34
+ func :read0, if_ran: :t5, number: 50110
35
35
 
36
36
  log "Test the block form of if_ran"
37
- func :pgm, id: :t6, bin: 10
37
+ func :pgm, id: :t6, bin: 10, number: 50120
38
38
  if_ran :t6 do
39
- func :read0
40
- func :read0
39
+ func :read0, number: 50130
40
+ func :read0, number: 50140
41
41
  end
42
42
 
43
43
  log "Test that unless_ran works"
44
- func :pgm, id: :t7, bin: 10
45
- func :read0, unless_ran: :t7
44
+ func :pgm, id: :t7, bin: 10, number: 50150
45
+ func :read0, unless_ran: :t7, number: 50160
46
46
 
47
47
  log "Test the block form of unless_ran"
48
- func :pgm, id: :t8, bin: 10
48
+ func :pgm, id: :t8, bin: 10, number: 50170
49
49
  unless_ran :t8 do
50
- func :read0
51
- func :read0
50
+ func :read0, number: 50180
51
+ func :read0, number: 50190
52
52
  end
53
53
 
54
54
  log "Test that if_job works"
55
- func :cold_test, if_job: :fc
55
+ func :cold_test, if_job: :fc, number: 50200
56
56
 
57
57
  log "Test the block form of if_job"
58
58
  if_job [:prb1, :prb2] do
59
- func :probe_only_test1
60
- func :probe_only_test2
59
+ func :probe_only_test1, number: 50210
60
+ func :probe_only_test2, number: 50220
61
61
  end
62
62
 
63
63
  log "Test that the block form of if_job can be overridden, prb9 should be removed"
64
64
  if_job [:prb1, :prb2, :prb9] do
65
- func :probe_only_test1
65
+ func :probe_only_test1, number: 50230
66
66
  end
67
67
 
68
68
  log "Test that unless_job works"
69
- func :warmish_test, unless_job: :fc
69
+ func :warmish_test, unless_job: :fc, number: 50240
70
70
 
71
71
  log "Test the block form of unless_job"
72
72
  unless_job [:prb1, :prb2] do
73
- func :ft_only_test1
74
- func :ft_only_test2
73
+ func :ft_only_test1, number: 50250
74
+ func :ft_only_test2, number: 50260
75
75
  end
76
76
 
77
77
  log "Test that if_enable works"
78
- func :extra_test, if_enable: :extras
78
+ func :extra_test, if_enable: :extras, number: 50270
79
79
 
80
80
  log "Test the block form of if_enable"
81
81
  if_enable :cz do
82
- func :cz_test1
83
- func :cz_test2
82
+ func :cz_test1, number: 50280
83
+ func :cz_test2, number: 50290
84
84
  end
85
85
 
86
86
  log "Test that unless_enable works"
87
- func :long_test, unless_enable: :quick
87
+ func :long_test, unless_enable: :quick, number: 50300
88
88
 
89
89
  log "Test the block form of unless_enable"
90
90
  unless_enable :quick do
91
- func :long_test1
92
- func :long_test2
91
+ func :long_test1, number: 50310
92
+ func :long_test2, number: 50320
93
93
  end
94
94
 
95
95
  log "Test that if_any_failed works"
96
- func :test1, id: :ifa1
97
- func :test2, id: :ifa2
98
- func :test3, if_any_failed: [:ifa1, :ifa2]
96
+ func :test1, id: :ifa1, number: 50330
97
+ func :test2, id: :ifa2, number: 50340
98
+ func :test3, if_any_failed: [:ifa1, :ifa2], number: 50350
99
99
 
100
100
  log "Test the block form of if_any_failed"
101
- func :test1, id: :oof_passcode1
102
- func :test2, id: :oof_passcode2
101
+ func :test1, id: :oof_passcode1, number: 50360
102
+ func :test2, id: :oof_passcode2, number: 50370
103
103
  if_any_failed :oof_passcode1, :oof_passcode2 do
104
- func :test3
105
- func :test4
104
+ func :test3, number: 50380
105
+ func :test4, number: 50390
106
106
  end
107
107
 
108
108
  log "Test that if_all_failed works"
109
- func :test1, id: :ifall1
110
- func :test2, id: :ifall2
111
- func :test3, if_all_failed: [:ifall1, :ifall2]
109
+ func :test1, id: :ifall1, number: 50400
110
+ func :test2, id: :ifall2, number: 50410
111
+ func :test3, if_all_failed: [:ifall1, :ifall2], number: 50420
112
112
 
113
113
  log "Test the block form of if_all_failed"
114
- func :test1, id: :ifallb1
115
- func :test2, id: :ifallb2
114
+ func :test1, id: :ifallb1, number: 50430
115
+ func :test2, id: :ifallb2, number: 50440
116
116
  if_all_failed [:ifallb1, :ifallb2] do
117
- func :test3
118
- func :test4
117
+ func :test3, number: 50450
118
+ func :test4, number: 50460
119
119
  end
120
120
 
121
121
  log "Test that if_any_passed works"
122
- func :test1, id: :ifap1
123
- func :test2, id: :ifap2
124
- func :test3, if_any_passed: [:ifap1, :ifap2]
122
+ func :test1, id: :ifap1, number: 50470
123
+ func :test2, id: :ifap2, number: 50480
124
+ func :test3, if_any_passed: [:ifap1, :ifap2], number: 50490
125
125
 
126
126
  log "Test the block form of if_any_passed"
127
- func :test1, id: :ifapb1
128
- func :test2, id: :ifapb2
127
+ func :test1, id: :ifapb1, number: 50500
128
+ func :test2, id: :ifapb2, number: 50510
129
129
  if_any_passed :ifapb1, :ifapb2 do
130
- func :test3
131
- func :test4
130
+ func :test3, number: 50520
131
+ func :test4, number: 50530
132
132
  end
133
133
 
134
134
  log "Test that if_all_passed works"
135
- func :test1, id: :ifallp1
136
- func :test2, id: :ifallp2
137
- func :test3, if_all_passed: [:ifallp1, :ifallp2]
135
+ func :test1, id: :ifallp1, number: 50540
136
+ func :test2, id: :ifallp2, number: 50550
137
+ func :test3, if_all_passed: [:ifallp1, :ifallp2], number: 50560
138
138
 
139
139
  log "Test the block form of if_all_passed"
140
- func :test1, id: :ifallpb1
141
- func :test2, id: :ifallpb2
140
+ func :test1, id: :ifallpb1, number: 50570
141
+ func :test2, id: :ifallpb2, number: 50580
142
142
  if_all_passed :ifallpb1, :ifallpb2 do
143
- func :test3
144
- func :test4
143
+ func :test3, number: 50590
144
+ func :test4, number: 50600
145
145
  end
146
146
 
147
147
  log "Test that group-level dependencies work"
148
148
  group "grp1", id: :grp1 do
149
- func :grp1_test1, bin: 5
150
- func :grp1_test2, bin: 5
151
- func :grp1_test3, bin: 5
149
+ func :grp1_test1, bin: 5, number: 50610
150
+ func :grp1_test2, bin: 5, number: 50620
151
+ func :grp1_test3, bin: 5, number: 50630
152
152
  end
153
153
 
154
154
  group "grp2", if_failed: :grp1 do
155
- func :grp2_test1, bin: 5
156
- func :grp2_test2, bin: 5
157
- func :grp2_test3, bin: 5
155
+ func :grp2_test1, bin: 5, number: 50640
156
+ func :grp2_test2, bin: 5, number: 50650
157
+ func :grp2_test3, bin: 5, number: 50660
158
158
  end
159
159
 
160
160
  log "Another group-level dependencies test based on a real life use case"
161
- func :gt1, bin: 90
161
+ func :gt1, bin: 90, number: 50670
162
162
  group "gt_grp1", id: :gt_grp1 do
163
- func :gt_grp1_test1, bin: 90, id: :gt_grp1
164
- func :gt_grp1_test2, bin: 90, id: :gt_grp1
163
+ func :gt_grp1_test1, bin: 90, id: :gt_grp1, number: 50680
164
+ func :gt_grp1_test2, bin: 90, id: :gt_grp1, number: 50690
165
165
  end
166
- func :gt2, bin: 90, if_failed: :gt_grp1
166
+ func :gt2, bin: 90, if_failed: :gt_grp1, number: 50700
167
167
  group "gt_grp2", id: :gt_grp2, if_failed: :gt_grp1 do
168
168
  # The if_failed and IDs here are redundant, but it should still generate
169
169
  # valid output if an application were to do this
170
- func :gt_grp2_test1, bin: 90, id: :gt_grp2, if_failed: :gt_grp1
171
- func :gt_grp2_test2, bin: 90, id: :gt_grp2, if_failed: :gt_grp1
170
+ func :gt_grp2_test1, bin: 90, id: :gt_grp2, if_failed: :gt_grp1, number: 50710
171
+ func :gt_grp2_test2, bin: 90, id: :gt_grp2, if_failed: :gt_grp1, number: 50720
172
172
  end
173
- func :gt3, bin: 90, if_failed: :gt_grp2
173
+ func :gt3, bin: 90, if_failed: :gt_grp2, number: 50730
174
174
 
175
175
  log "Test that nested groups work"
176
176
  group "level1" do
177
- func :lev1_test1, bin: 5
178
- func :lev1_test2, bin: 5
179
- func :lev1_test3, id: :l1t3, bin: 10
180
- func :lev1_test4, if_failed: :l1t3, bin: 12
181
- func :lev1_test5, id: :l1t5, bin: 12
177
+ func :lev1_test1, bin: 5, number: 50740
178
+ func :lev1_test2, bin: 5, number: 50750
179
+ func :lev1_test3, id: :l1t3, bin: 10, number: 50760
180
+ func :lev1_test4, if_failed: :l1t3, bin: 12, number: 50770
181
+ func :lev1_test5, id: :l1t5, bin: 12, number: 50780
182
182
  group "level2" do
183
- func :lev2_test1, bin: 5
184
- func :lev2_test2, bin: 5
185
- func :lev2_test3, id: :l2t3, bin: 10
186
- func :lev2_test4, if_failed: :l2t3, bin: 12
183
+ func :lev2_test1, bin: 5, number: 50790
184
+ func :lev2_test2, bin: 5, number: 50800
185
+ func :lev2_test3, id: :l2t3, bin: 10, number: 50810
186
+ func :lev2_test4, if_failed: :l2t3, bin: 12, number: 50820
187
187
  # Test dependency on a test from another group
188
- func :lev2_test5, if_failed: :l1t5, bin: 12
188
+ func :lev2_test5, if_failed: :l1t5, bin: 12, number: 50830
189
189
  end
190
190
  end
191
191
 
192
192
  log "Test nested conditions on a group"
193
- func :nt1, bin: 10, id: :nt1
193
+ func :nt1, bin: 10, id: :nt1, number: 50840
194
194
  if_failed :nt1 do
195
- func :nt2, bin: 11, id: :nt2
195
+ func :nt2, bin: 11, id: :nt2, number: 50850
196
196
  group "ntg1", id: :ntg1, if_passed: :nt2 do
197
- func :nt3, bin: 12
197
+ func :nt3, bin: 12, number: 50860
198
198
  end
199
199
  group "ntg2", id: :ntg2, if_failed: :nt2 do
200
- func :nt4, bin: 13
200
+ func :nt4, bin: 13, number: 50870
201
201
  end
202
202
  end
203
203
 
204
204
  log "Embedded conditional tests 1"
205
- func :test1, id: :ect1_1
205
+ func :test1, id: :ect1_1, number: 50880
206
206
  if_failed :ect1_1 do
207
- func :test2
208
- func :test3, id: :ect1_3
207
+ func :test2, number: 50890
208
+ func :test3, id: :ect1_3, number: 50900
209
209
  if_failed :ect1_3 do
210
- func :test4
210
+ func :test4, number: 50910
211
211
  end
212
212
  end
213
213
 
214
214
  log "Embedded conditional tests 2"
215
- func :test1, id: :ect2_1
216
- func :test2, id: :ect2_2
215
+ func :test1, id: :ect2_1, number: 50920
216
+ func :test2, id: :ect2_2, number: 50930
217
217
  if_failed :ect2_1 do
218
- func :test3, if_failed: :ect2_2
219
- func :test4, if_enable: "en1"
218
+ func :test3, if_failed: :ect2_2, number: 50940
219
+ func :test4, if_enable: "en1", number: 50950
220
220
  if_enable "en2" do
221
- func :test5
222
- func :test6
221
+ func :test5, number: 50960
222
+ func :test6, number: 50970
223
223
  end
224
- func :test7
224
+ func :test7, number: 50980
225
225
  end
226
- func :test8
226
+ func :test8, number: 51000
227
227
 
228
228
  log "Nested enable word test 1"
229
229
  if_enable "word1" do
230
- func :test1
230
+ func :test1, number: 51010
231
231
  if_enable "word2" do
232
- func :test2
232
+ func :test2, number: 51020
233
233
  end
234
234
  end
235
235
 
236
236
  log "Nested enable word test 2"
237
237
  if_enable "word1" do
238
- func :test1
238
+ func :test1, number: 51030
239
239
  unless_enable "word2" do
240
- func :test2
240
+ func :test2, number: 51040
241
241
  end
242
242
  end
243
243
 
244
244
  log "Nested enable word test 3"
245
245
  if_enable ["word1", "word2"] do
246
- func :test1
246
+ func :test1, number: 51050
247
247
  if_enable "word3" do
248
- func :test2
248
+ func :test2, number: 51060
249
249
  end
250
250
  end
251
251
 
@@ -256,126 +256,126 @@ Flow.create interface: 'OrigenTesters::Test::Interface', flow_name: "Flow Contro
256
256
 
257
257
  log "Test enable words that wrap a lot of tests"
258
258
  if_enable :word1 do
259
- 5.times do
260
- func :test1
259
+ 5.times do |i|
260
+ func :test1, number: 51100 + (i * 10)
261
261
  end
262
262
  if_enable :word2 do
263
- 4.times do
264
- func :test1
263
+ 4.times do |i|
264
+ func :test1, number: 51200 + (i * 10)
265
265
  end
266
- func :test1, enable: :word3
266
+ func :test1, enable: :word3, number: 51300
267
267
  end
268
268
  end
269
269
 
270
270
  if tester.j750?
271
271
  log "This should generate an AND flag"
272
- func :test1, id: :at1
273
- func :test2, id: :at2
272
+ func :test1, id: :at1, number: 51310
273
+ func :test2, id: :at2, number: 51320
274
274
  if_failed :at1 do
275
- func :test3, if_failed: :at2
275
+ func :test3, if_failed: :at2, number: 51330
276
276
  # This should re-use the AND flag, rather than create a duplicate
277
- func :test4, if_failed: :at2
277
+ func :test4, if_failed: :at2, number: 51340
278
278
  end
279
279
  log "This should NOT generate an AND flag"
280
280
  # Creating an AND flag here is logically correct, but creates un-necessary flow lines. Since
281
281
  # the test at11 is already gated by the at21 condition, it does not need to be applied to any
282
282
  # tests that are dependent on at11.
283
- func :test1, id: :at11
283
+ func :test1, id: :at11, number: 51350
284
284
  if_failed :at11 do
285
- func :test2, id: :at21
286
- func :test3, if_failed: :at21
287
- func :test4, if_failed: :at21
285
+ func :test2, id: :at21, number: 51360
286
+ func :test3, if_failed: :at21, number: 51370
287
+ func :test4, if_failed: :at21, number: 51380
288
288
  end
289
289
  end
290
290
 
291
291
  log "Manual flag setting"
292
- test :test1, on_fail: { set_flag: :my_flag }, continue: true
293
- test :test2, if_flag: :my_flag
292
+ test :test1, on_fail: { set_flag: :my_flag }, continue: true, number: 51390
293
+ test :test2, if_flag: :my_flag, number: 51400
294
294
  unless_flag :my_flag do
295
- test :test3
295
+ test :test3, number: 51410
296
296
  end
297
297
 
298
298
  log "Mixed-case manual flags"
299
- test :test1, on_fail: { set_flag: :$My_Mixed_Flag }, continue: true
300
- test :test2, if_flag: "$My_Mixed_Flag"
299
+ test :test1, on_fail: { set_flag: :$My_Mixed_Flag }, continue: true, number: 51420
300
+ test :test2, if_flag: "$My_Mixed_Flag", number: 51430
301
301
  unless_flag "$My_Mixed_Flag" do
302
- test :test3
302
+ test :test3, number: 51440
303
303
  end
304
304
 
305
305
  log "Mixed-case enables"
306
- test :extra_test, if_enable: :$MCEn_extras
306
+ test :extra_test, if_enable: :$MCEn_extras, number: 51450
307
307
  unless_enable "$MCEn_test" do
308
- test :test1
309
- test :test2
308
+ test :test1, number: 51460
309
+ test :test2, number: 51470
310
310
  end
311
311
 
312
312
  if tester.v93k?
313
313
  log "This should retain the set-run-flag in the else conditional"
314
- func :test22, id: :at22
314
+ func :test22, id: :at22, number: 51480
315
315
 
316
316
  if_failed :at22 do
317
- func :test22a
318
- func :test22b
317
+ func :test22a, number: 51490
318
+ func :test22b, number: 51500
319
319
  end
320
320
 
321
- func :test22c
322
- func :test22d
321
+ func :test22c, number: 51510
322
+ func :test22d, number: 51520
323
323
 
324
324
  if_failed :at22 do
325
- func :test22e
326
- func :test22f
325
+ func :test22e, number: 51530
326
+ func :test22f, number: 51540
327
327
  end
328
328
  end
329
329
 
330
330
  if tester.v93k?
331
331
  log "This should optimize away then/else branches that are empty"
332
- func :test36, continue: true
333
- func :test36b, bin: 12, continue:true
332
+ func :test36, continue: true, number: 51550
333
+ func :test36b, bin: 12, continue:true, number: 51560
334
334
 
335
335
  log "Tests of render"
336
336
 
337
337
  render 'multi_bin;', if_flag: :my_flag
338
338
 
339
- func :test36, on_fail: { render: 'multi_bin;' }, if_flag: :my_flag
339
+ func :test36, on_fail: { render: 'multi_bin;' }, if_flag: :my_flag, number: 51570
340
340
  end
341
341
 
342
342
  log 'An optimization test case, this should not generate a flag on V93K'
343
- func :test1, id: :t1a
343
+ func :test1, id: :t1a, number: 51580
344
344
 
345
345
  if_passed :t1a do
346
- func :test2
346
+ func :test2, number: 51590
347
347
  end
348
348
 
349
349
  if_failed :t1a do
350
- func :test3
350
+ func :test3, number: 51600
351
351
  bin 10
352
352
  end
353
353
 
354
354
  log 'The reverse optimization test case, this should not generate a flag on V93K'
355
- func :test1, id: :t1b
355
+ func :test1, id: :t1b, number: 51610
356
356
 
357
357
  if_failed :t1b do
358
- func :test3
358
+ func :test3, number: 51620
359
359
  bin 10
360
360
  end
361
361
 
362
362
  if_passed :t1b do
363
- func :test2
363
+ func :test2, number: 51630
364
364
  end
365
365
 
366
366
  if tester.v93k?
367
367
  log 'Nested optimization test case'
368
- func :outer_test, id: :ot
368
+ func :outer_test, id: :ot, number: 51640
369
369
  if_failed :ot do
370
370
  unless_flag :flag1 do
371
- func :inner_test1, id: :it1
371
+ func :inner_test1, id: :it1, number: 51650
372
372
  render 'multi_bin;', if_failed: :it1
373
373
  end
374
374
  end
375
375
 
376
376
  log 'Nested flag optimization test case'
377
377
  if_flag :flag1 do
378
- func :test4, id: :nf_t4
378
+ func :test4, id: :nf_t4, number: 51660
379
379
  if_failed :nf_t4 do
380
380
  render 'multi_bin;', if_flag: :flag1
381
381
  end
@@ -384,82 +384,82 @@ Flow.create interface: 'OrigenTesters::Test::Interface', flow_name: "Flow Contro
384
384
  log 'Same test case with volatile flag'
385
385
  volatile :$Alarm
386
386
  if_flag :$Alarm do
387
- func :test10, id: :nf_t5
387
+ func :test10, id: :nf_t5, number: 51670
388
388
  if_failed :nf_t5 do
389
389
  render 'multi_bin;', if_flag: :$Alarm
390
390
  end
391
391
  end
392
392
 
393
393
  log 'The setting of flags used in later OR conditions should be preserved'
394
- func :test2, id: :of1
395
- func :test3, if_failed: :of1
396
- func :test2, id: :of2
397
- func :test3, if_failed: :of2
398
- func :test4
399
- func :test4, if_any_failed: [:of1, :of2]
394
+ func :test2, id: :of1, number: 51680
395
+ func :test3, if_failed: :of1, number: 51690
396
+ func :test2, id: :of2, number: 51700
397
+ func :test3, if_failed: :of2, number: 51710
398
+ func :test4, number: 51720
399
+ func :test4, if_any_failed: [:of1, :of2], number: 51730
400
400
 
401
401
  log 'The setting of flags used in later AND conditions should be preserved'
402
- func :test2, id: :af1
403
- func :test3, if_failed: :af1
404
- func :test2, id: :af2
405
- func :test3, if_failed: :af2
406
- func :test4
407
- func :test4, if_all_failed: [:af1, :af2]
402
+ func :test2, id: :af1, number: 51740
403
+ func :test3, if_failed: :af1, number: 51750
404
+ func :test2, id: :af2, number: 51760
405
+ func :test3, if_failed: :af2, number: 51770
406
+ func :test4, number: 51780
407
+ func :test4, if_all_failed: [:af1, :af2], number: 51790
408
408
 
409
409
  log 'Adjacent tests that set a flag and then use it in an OR condition should be valid'
410
- func :test2, id: :of11
411
- func :test2, id: :of12
412
- func :test4, if_any_failed: [:of11, :of12]
410
+ func :test2, id: :of11, number: 51800
411
+ func :test2, id: :of12, number: 51810
412
+ func :test4, if_any_failed: [:of11, :of12], number: 51820
413
413
 
414
414
  log 'Adjacent tests that set a flag and then use it in an AND condition should be valid'
415
- func :test2, id: :af11
416
- func :test2, id: :af12
417
- func :test4, if_all_failed: [:af11, :af12]
415
+ func :test2, id: :af11, number: 51830
416
+ func :test2, id: :af12, number: 51840
417
+ func :test4, if_all_failed: [:af11, :af12], number: 51850
418
418
 
419
419
  log 'Adjacent if combiner test case 1'
420
- func :test1, if_enable: :my_enable_word
421
- func :test2, unless_enable: :my_enable_word
422
- func :test1, if_flag: :my_flag
423
- func :test2, unless_flag: :my_flag
420
+ func :test1, if_enable: :my_enable_word, number: 51860
421
+ func :test2, unless_enable: :my_enable_word, number: 51870
422
+ func :test1, if_flag: :my_flag, number: 51880
423
+ func :test2, unless_flag: :my_flag, number: 51890
424
424
 
425
425
  log 'Adjacent if combiner test case 2'
426
- func :test2, unless_enable: :my_enable_word
427
- func :test1, if_enable: :my_enable_word
428
- func :test2, unless_flag: :my_flag
429
- func :test1, if_flag: :my_flag
426
+ func :test2, unless_enable: :my_enable_word, number: 51900
427
+ func :test1, if_enable: :my_enable_word, number: 51910
428
+ func :test2, unless_flag: :my_flag, number: 51920
429
+ func :test1, if_flag: :my_flag, number: 51930
430
430
 
431
431
  log 'Volatile if combiner test case'
432
- func :test1, if_flag: :$Alarm
433
- func :test2, unless_flag: :$Alarm
432
+ func :test1, if_flag: :$Alarm, number: 51940
433
+ func :test2, unless_flag: :$Alarm, number: 51950
434
434
  end
435
435
 
436
436
  log 'Test the block form of expressing if passed/failed dependents'
437
437
  func :test1, on_pass: ->{
438
- func :test2
438
+ func :test2, number: 51970
439
439
  }, on_fail: ->{
440
- func :test3
440
+ func :test3, number: 51980
441
441
  bin 10
442
- }
442
+ }, number: 51960
443
443
 
444
444
  log 'Test the else block on a flag condition'
445
445
  if_enabled "bitmap", then: ->{
446
- test :test2
446
+ test :test2, number: 51990
447
447
  }, else: ->{
448
- test :test3
448
+ test :test3, number: 52000
449
449
  }
450
450
  if_flag :some_flag, then: ->{
451
- test :test2
451
+ test :test2, number: 52010
452
452
  }, else: ->{
453
- test :test3
453
+ test :test3, number: 52020
454
454
  }
455
455
 
456
456
  log 'Test of a real life case which was found to have problems'
457
457
  unless_enable "eword1" do
458
458
  unless_enable "eword2" do
459
- import 'components/small'
459
+ import 'components/small', number: 53000
460
460
  end
461
461
  if_enable "eword2" do
462
- import 'components/small'
462
+ import 'components/small', number: 54000
463
463
  end
464
464
  end
465
465
  end
@@ -7,21 +7,21 @@ Flow.create interface: 'OrigenTesters::Test::Interface' do
7
7
 
8
8
  self.resources_filename = 'prb2'
9
9
 
10
- func :erase_all, :duration => :dynamic
10
+ func :erase_all, duration: :dynamic, number: 10000
11
11
 
12
- func :margin_read1_all1
12
+ func :margin_read1_all1, number: 10010
13
13
 
14
- func :erase_all, :duration => :dynamic
15
- func :margin_read1_all1
14
+ func :erase_all, duration: :dynamic, number: 10020
15
+ func :margin_read1_all1, number: 10030
16
16
 
17
- import 'components/prb2_main'
17
+ import 'components/prb2_main', number: 11000
18
18
 
19
- func :erase_all, :duration => :dynamic
20
- func :margin_read1_all1, :id => 'erased_successfully'
19
+ func :erase_all, duration: :dynamic, number: 12000
20
+ func :margin_read1_all1, id: 'erased_successfully', number: 12010
21
21
 
22
22
  if_enable 'extra_tests' do
23
- import 'components/prb2_main'
23
+ import 'components/prb2_main', number: 13000
24
24
  end
25
25
 
26
- func :margin_read1_all1
26
+ func :margin_read1_all1, number: 14000
27
27
  end
@@ -10,16 +10,16 @@ Flow.create interface: 'OrigenTesters::Test::Interface' do
10
10
 
11
11
  # para 'charge_pump', :high_voltage => true, :lo_limit => 5, :hi_limit => 6
12
12
 
13
- meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, lo_limit: 35
14
- meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, hi_limit: 45
15
- meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, hi_limit: 45, lo_limit: 35
16
- meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, hi_limit: 45, lo_limit: 35
17
- meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, hi_limit: 45.mV, lo_limit: 35.mV
18
- meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, hi_limit: 45.mV, lo_limit: 35.mV, continue: true
19
- meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, hi_limit: 2000, lo_limit: 0.01, continue: true
20
- meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, hi_limit: "_some_spec", lo_limit: 0.01, continue: true
21
- meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, hi_limit: [1, 2]
22
- meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, lo_limit: [1.uA, 2.uA, 3.uA], hi_limit: [4.uA,5.uA], units: "A", defer_limits: true
13
+ meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, lo_limit: 35, number: 40000
14
+ meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, hi_limit: 45, number: 40010
15
+ meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, hi_limit: 45, lo_limit: 35, number: 40020
16
+ meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, hi_limit: 45, lo_limit: 35, number: 40030
17
+ meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, hi_limit: 45.mV, lo_limit: 35.mV, number: 40040
18
+ meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, hi_limit: 45.mV, lo_limit: 35.mV, continue: true, number: 40050
19
+ meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, hi_limit: 2000, lo_limit: 0.01, continue: true, number: 40060
20
+ meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, hi_limit: "_some_spec", lo_limit: 0.01, continue: true, number: 40070
21
+ meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, hi_limit: [1, 2], number: 40080
22
+ meas :read_pump, tnum: 1050, bin: 119, soft_bin: 2, lo_limit: [1.uA, 2.uA, 3.uA], hi_limit: [4.uA,5.uA], units: "A", defer_limits: true, number: 40090
23
23
 
24
24
  if tester.uflex?
25
25
  log "Test of ultraflex render API"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: origen_testers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.1
4
+ version: 0.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen McGinty
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-02-14 00:00:00.000000000 Z
11
+ date: 2018-03-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: origen