origen_testers 0.11.1 → 0.12.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: a82bf50b5eb01f12a4f731840c1516990d6b58f1
4
- data.tar.gz: d1fa8916ebc0381611be2a5aa94bda1e58cf9c2b
3
+ metadata.gz: ed6eed4f43211577112670d75be50cd8c5af22d1
4
+ data.tar.gz: 44239f70ea1b03d86784cfbaf0dffd91694b0535
5
5
  SHA512:
6
- metadata.gz: 7be4cbb82d2c2e1479cb954f494f7ce0a6365c5b442aef63180a3faf8df69c2af9d70bb7d894264c02694ebc90b4021985a2ddc90e771dd932ce54e002974cc0
7
- data.tar.gz: 2b2bdfe54e832a20962858bbb46576d9233f380600078e2a886e2aad29f8cacf2e00163a4d4aa838c2b5f4bbadc2de6542b715a796ef0d898d1f94010acff7bd
6
+ metadata.gz: b1dbc83b631cc269e949a36a9473cfc0935601478adacf5216293db841fc7fce6fdafe88125db77c3ba0d897237858e3aee651d9167b987f0f35f35d0c8535b3
7
+ data.tar.gz: 2c2f1b09187a88366d9169d531a41465a997e09c321858babf28c5f2f20dc4eead6665fb946f6de91d630ad79693b753a189c01b89fc115b4dc57490c3ca54b8
data/config/version.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  module OrigenTesters
2
2
  MAJOR = 0
3
- MINOR = 11
4
- BUGFIX = 1
3
+ MINOR = 12
4
+ BUGFIX = 0
5
5
  DEV = nil
6
6
 
7
7
  VERSION = [MAJOR, MINOR, BUGFIX].join(".") + (DEV ? ".pre#{DEV}" : '')
@@ -176,7 +176,7 @@ module OrigenTesters
176
176
  end
177
177
 
178
178
  def on_set_run_flag(node)
179
- flag = node.to_a[0]
179
+ flag = remove_symbols_from_flag(node.to_a[0])
180
180
  set_run_flags[flag] = context.dup
181
181
  if current_group
182
182
  if branch == :on_fail
@@ -323,6 +323,7 @@ module OrigenTesters
323
323
  flag, value = *node.to_a.take(2)
324
324
  orig = flow_flag
325
325
  if flag.is_a?(Array)
326
+ flag.map! { |a_flag| remove_symbols_from_flag(a_flag) }
326
327
  if flag.size > 1
327
328
  or_flag = flag.join('_OR_')
328
329
  flag.each do |f|
@@ -332,6 +333,8 @@ module OrigenTesters
332
333
  else
333
334
  flag = flag.first
334
335
  end
336
+ else
337
+ flag = remove_symbols_from_flag(flag)
335
338
  end
336
339
  if value
337
340
  # IG-XL docs say that enable words are not optimized for test time, so branch around
@@ -409,7 +412,7 @@ module OrigenTesters
409
412
  line = platform::FlowLine.new(type, attrs)
410
413
  if run_flag
411
414
  line.device_sense = 'not' unless run_flag[1]
412
- line.device_name = run_flag[0]
415
+ line.device_name = remove_symbols_from_flag(run_flag[0])
413
416
  line.device_condition = 'flag-true'
414
417
  end
415
418
  open_lines << line
@@ -442,6 +445,15 @@ module OrigenTesters
442
445
  "NOT_#{flag}"
443
446
  end
444
447
  end
448
+
449
+ private
450
+
451
+ def remove_symbols_from_flag(flag)
452
+ if flag[0] == '$'
453
+ flag[0] = ''
454
+ end
455
+ flag
456
+ end
445
457
  end
446
458
  end
447
459
  end
@@ -57,10 +57,9 @@ module OrigenTesters
57
57
  else
58
58
  i = ''
59
59
  end
60
-
61
60
  h << i + ' {'
62
61
  set_runtime_variables.each do |var|
63
- h << i + " @#{var.to_s.upcase} = -1;"
62
+ h << i + " @#{generate_flag_name(var.to_s)} = -1;"
64
63
  end
65
64
  h << i + ' }, open,"Init Flow Control Vars", ""'
66
65
  h
@@ -162,9 +161,9 @@ module OrigenTesters
162
161
  def on_condition_flag(node)
163
162
  flag, state, *nodes = *node
164
163
  if flag.is_a?(Array)
165
- condition = flag.map { |f| "@#{f.upcase} == 1" }.join(' or ')
164
+ condition = flag.map { |f| "@#{generate_flag_name(f)} == 1" }.join(' or ')
166
165
  else
167
- condition = "@#{flag.upcase} == 1"
166
+ condition = "@#{generate_flag_name(flag)} == 1"
168
167
  end
169
168
  line "if #{condition} then"
170
169
  line '{'
@@ -183,7 +182,7 @@ module OrigenTesters
183
182
  def on_flow_flag(node)
184
183
  flag, state, *nodes = *node
185
184
  [flag].flatten.each do |f|
186
- flow_control_variables << f.upcase
185
+ flow_control_variables << f
187
186
  end
188
187
  on_condition_flag(node)
189
188
  end
@@ -191,7 +190,7 @@ module OrigenTesters
191
190
  def on_run_flag(node)
192
191
  flag, state, *nodes = *node
193
192
  [flag].flatten.each do |f|
194
- runtime_control_variables << f.upcase
193
+ runtime_control_variables << f
195
194
  end
196
195
  on_condition_flag(node)
197
196
  end
@@ -209,9 +208,9 @@ module OrigenTesters
209
208
  end
210
209
 
211
210
  def on_set_run_flag(node)
212
- flag = node.value.upcase
211
+ flag = node.value
213
212
  runtime_control_variables << flag
214
- line "@#{flag} = 1;"
213
+ line "@#{generate_flag_name(flag)} = 1;"
215
214
  end
216
215
 
217
216
  def on_group(node)
@@ -273,6 +272,17 @@ module OrigenTesters
273
272
  yield
274
273
  @continue = orig
275
274
  end
275
+
276
+ private
277
+
278
+ def generate_flag_name(flag)
279
+ case flag[0]
280
+ when '$'
281
+ flag[1..-1]
282
+ else
283
+ flag.upcase
284
+ end
285
+ end
276
286
  end
277
287
  end
278
288
  end
@@ -12,7 +12,7 @@ module OrigenTesters
12
12
  end
13
13
 
14
14
  def on_set_run_flag(node)
15
- flag = node.value.upcase
15
+ flag = node.value
16
16
  @results << flag
17
17
  end
18
18
  end
@@ -295,6 +295,20 @@ Flow.create interface: 'OrigenTesters::Test::Interface' do
295
295
  test :test3
296
296
  end
297
297
 
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"
301
+ unless_flag "$My_Mixed_Flag" do
302
+ test :test3
303
+ end
304
+
305
+ log "Mixed-case enables"
306
+ test :extra_test, if_enable: :$MCEn_extras
307
+ unless_enable "$MCEn_test" do
308
+ test :test1
309
+ test :test2
310
+ end
311
+
298
312
  if tester.v93k?
299
313
  log "This should retain the set-run-flag in the else conditional"
300
314
  func :test22, id: :at22
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.11.1
4
+ version: 0.12.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: 2017-09-15 00:00:00.000000000 Z
11
+ date: 2017-09-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: origen
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0.6'
47
+ version: '0.7'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0.6'
54
+ version: '0.7'
55
55
  description:
56
56
  email:
57
57
  - stephen.f.mcginty@gmail.com
@@ -348,7 +348,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
348
348
  version: 1.8.11
349
349
  requirements: []
350
350
  rubyforge_project:
351
- rubygems_version: 2.6.11
351
+ rubygems_version: 2.5.2
352
352
  signing_key:
353
353
  specification_version: 4
354
354
  summary: This plugin provides Origen tester models to drive ATE type testers like