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 +4 -4
- data/config/version.rb +2 -2
- data/lib/origen_testers/igxl_based_tester/base/flow.rb +14 -2
- data/lib/origen_testers/smartest_based_tester/base/flow.rb +18 -8
- data/lib/origen_testers/smartest_based_tester/base/processors/extract_set_variables.rb +1 -1
- data/program/flow_control.rb +14 -0
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ed6eed4f43211577112670d75be50cd8c5af22d1
|
4
|
+
data.tar.gz: 44239f70ea1b03d86784cfbaf0dffd91694b0535
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b1dbc83b631cc269e949a36a9473cfc0935601478adacf5216293db841fc7fce6fdafe88125db77c3ba0d897237858e3aee651d9167b987f0f35f35d0c8535b3
|
7
|
+
data.tar.gz: 2c2f1b09187a88366d9169d531a41465a997e09c321858babf28c5f2f20dc4eead6665fb946f6de91d630ad79693b753a189c01b89fc115b4dc57490c3ca54b8
|
data/config/version.rb
CHANGED
@@ -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
|
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
|
164
|
+
condition = flag.map { |f| "@#{generate_flag_name(f)} == 1" }.join(' or ')
|
166
165
|
else
|
167
|
-
condition = "@#{flag
|
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
|
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
|
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
|
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
|
data/program/flow_control.rb
CHANGED
@@ -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.
|
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-
|
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.
|
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.
|
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.
|
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
|