origen_testers 0.51.4 → 0.52.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/config/commands.rb +1 -1
- data/config/version.rb +2 -2
- data/lib/origen_testers/atp/flow.rb +39 -0
- data/lib/origen_testers/atp/flow_api.rb +2 -2
- data/lib/origen_testers/smartest_based_tester/base/flow.rb +61 -17
- data/lib/origen_testers/smartest_based_tester/base/generator.rb +5 -1
- data/lib/origen_testers/smartest_based_tester/base/processors/extract_flow_vars.rb +18 -1
- data/lib/origen_testers/smartest_based_tester/base/test_method.rb +25 -3
- data/lib/origen_testers/smartest_based_tester/base/variables_file.rb +1 -1
- data/lib/origen_testers/smartest_based_tester/base.rb +28 -4
- data/lib/origen_testers/smartest_based_tester/v93k_smt8/flow.rb +69 -5
- data/lib/origen_testers/smartest_based_tester/v93k_smt8/limits_workbook.rb +28 -26
- data/lib/origen_testers/smartest_based_tester/v93k_smt8/templates/template.flow.erb +3 -0
- data/lib/origen_testers/smartest_based_tester/v93k_smt8/test_suite.rb +111 -4
- data/lib/origen_testers/stil_based_tester/base.rb +77 -24
- data/lib/origen_testers/test/custom_test_interface.rb +36 -2
- data/lib/origen_testers/test/interface.rb +123 -0
- data/program/components/_prb1_main.rb +9 -0
- data/program/custom_tests.rb +3 -0
- data/program/flow_control.rb +37 -8
- data/templates/origen_guides/pattern/stil.md.erb +17 -0
- data/templates/origen_guides/program/flowapi.md.erb +26 -1
- data/templates/origen_guides/program/v93k.md.erb +14 -0
- data/templates/origen_guides/program/v93ksmt8.md.erb +25 -0
- metadata +3 -3
@@ -280,6 +280,9 @@ test :test2, if_flag: :my_pass_flag
|
|
280
280
|
unless_flag :my_pass_flag do
|
281
281
|
test :test3
|
282
282
|
end
|
283
|
+
|
284
|
+
log "Example of manually unsetting flag"
|
285
|
+
test :test4, on_pass: { unset_flag :my_custom_flag1 }
|
283
286
|
~~~
|
284
287
|
|
285
288
|
Note that flag names will usually be forced to uppercase, this is to institute a convention that
|
@@ -303,6 +306,14 @@ unless_enable "$MCEn_test" do
|
|
303
306
|
end
|
304
307
|
~~~
|
305
308
|
|
309
|
+
For custom environment libraries, there might be a need to reference a flag without using the native
|
310
|
+
flag API. `add_flag` will allow the flow and sub-flow to have access to the flag without adding to the flow.
|
311
|
+
|
312
|
+
~~~ruby
|
313
|
+
log "Example of manually adding a flag to a flow without calling the flag"
|
314
|
+
add_flag :my_custom_flag2
|
315
|
+
~~~
|
316
|
+
|
306
317
|
In all cases the `$` will be removed from the final flag name that appears in the test program.
|
307
318
|
|
308
319
|
Whenever you set a flag or automation initializes a variable, you can remove the variable from initialization flow by labeling as a global flag
|
@@ -352,7 +363,7 @@ end
|
|
352
363
|
~~~
|
353
364
|
|
354
365
|
|
355
|
-
#### Flow Loops for V93k
|
366
|
+
#### Flow Loops for V93k
|
356
367
|
Use flow loop control to permit re-running tests without using additional sequence labels.
|
357
368
|
|
358
369
|
~~~ruby
|
@@ -381,7 +392,21 @@ loop from: 0, to: 5, var: '$LOOP_VARIABLE', test_num_inc: 2 do
|
|
381
392
|
end
|
382
393
|
~~~
|
383
394
|
|
395
|
+
You can also provide a variable starting point:
|
396
|
+
~~~ruby
|
397
|
+
loop from: '$TEST_VARIABLE', to: 5, var: '$LOOP_VARIABLE' do
|
398
|
+
func :test_myloop6, number: 56600
|
399
|
+
end
|
400
|
+
~~~
|
401
|
+
|
384
402
|
Decrementing loops, having `from:` value > `to:` value and using negative `step:`, is also supported.
|
403
|
+
|
404
|
+
##### Loop Rules For Each Environment
|
405
|
+
|
406
|
+
`SMT7` cannot support a variable stop location. Only the `from:` parameter is allowed to be a variable.
|
407
|
+
|
408
|
+
`SMT8` cannot have a step other than -1 or 1. The limitations of the range flow restrict those steps.
|
409
|
+
The `to:` parameter can be a flow variable just like `from:`.
|
385
410
|
|
386
411
|
|
387
412
|
|
@@ -74,6 +74,20 @@ or to assign a spec in SMT8:
|
|
74
74
|
t.spec = 'my_spec_min'
|
75
75
|
~~~
|
76
76
|
|
77
|
+
The default namespace and folder paths are determined by your environment with `tester.package_namespace` and
|
78
|
+
`tester.spec_path`/`tester.seq_path` respectively. If you need to override these values for specific test suites
|
79
|
+
you have the following available:
|
80
|
+
|
81
|
+
~~~ruby
|
82
|
+
# Overrides spec namespace and folder path
|
83
|
+
t.spec_namespace
|
84
|
+
t.spec_path
|
85
|
+
# Overrides sequence and pattern namespace
|
86
|
+
t.seq_namespace
|
87
|
+
# Overrides sequence folder path
|
88
|
+
t.seq_path
|
89
|
+
~~~
|
90
|
+
|
77
91
|
If the test method provides parameters, you can set them in the same way. As a convenience,
|
78
92
|
Origen will automatically work out whether the reference is to a parameter of the test suite
|
79
93
|
or of the test method, and will assign it accordingly.
|
@@ -103,10 +103,35 @@ flow Main {
|
|
103
103
|
}
|
104
104
|
~~~
|
105
105
|
|
106
|
+
#### Auxiliary Flows
|
106
107
|
|
108
|
+
SMT8 utilizes auxiliary flows to perform recurring actions. `add_auxiliary_flow` API exists to symlink to a predefined auxiliary flow.
|
109
|
+
This API does not allow variables to be passed to or from the auxiliary flow since they are stand alone flows.
|
107
110
|
|
111
|
+
~~~ruby
|
112
|
+
add_auxiliary_flow :POWERDOWN, 'testflow.POWERDOWN'
|
113
|
+
~~~
|
114
|
+
|
115
|
+
~~~java
|
116
|
+
flow Main {
|
117
|
+
setup {
|
118
|
+
flow POWERDOWN calls testflow.POWERDOWN {}
|
119
|
+
}
|
108
120
|
|
121
|
+
execute {
|
122
|
+
POWERDOWN.execute();
|
123
|
+
}
|
124
|
+
}
|
125
|
+
~~~
|
109
126
|
|
127
|
+
#### Flow Variable Grouping
|
110
128
|
|
129
|
+
Sub-flow variable passing causes variables before and after the execution call to populate the flow.
|
130
|
+
If you wish to have a collapse-able block for the variables, you need to set the flow_variable_grouping variable to true.
|
131
|
+
|
132
|
+
~~~
|
133
|
+
# add this line to your origen_site_config.yml
|
134
|
+
flow_variable_grouping: true
|
135
|
+
~~~
|
111
136
|
|
112
137
|
% end
|
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.52.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: 2024-
|
11
|
+
date: 2024-04-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: origen
|
@@ -601,7 +601,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
601
601
|
- !ruby/object:Gem::Version
|
602
602
|
version: '0'
|
603
603
|
requirements: []
|
604
|
-
rubygems_version: 3.
|
604
|
+
rubygems_version: 3.2.3
|
605
605
|
signing_key:
|
606
606
|
specification_version: 4
|
607
607
|
summary: This plugin provides Origen tester models to drive ATE type testers like
|