origen_testers 0.11.1 → 0.12.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|