origen_testers 0.7.7 → 0.7.8

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: 560c1e1e8f0793808a3054fbfa0939d9e85fc178
4
- data.tar.gz: f8d1745d6e6107d1a092bd420f4bcf92b2419c9d
3
+ metadata.gz: 0fef29207283a7c7837cfaef6fb5d32d4a422292
4
+ data.tar.gz: 4d41a6c74b72ef2fffae771928ec1356d7f989ba
5
5
  SHA512:
6
- metadata.gz: 43d6f200cf2c285d52c56873debeb66d67a6d77ef873c77cf13f79ab936b064e8d42a2b4968ac1f83912eededa8f3a9b5cf459c3c365c7828d7ea7a20549aec9
7
- data.tar.gz: b856f1c9b1dc241c94c90d2ff97122a0ced67c8f5add45b3b44cea5f33cc8083816a284a2355c58aaeb197c9dcdbbc2a0645c01f5d6371111a867dc7ea846913
6
+ metadata.gz: 0624f4f177bae4b5ad179601a22504a56dd8ca907b26bd6feca823443978c9575c5fd03f38f36a8e709f7caa1bedfec993be5c520045371b9178fd5320fff917
7
+ data.tar.gz: cbc5987d9c38140931121c5da1d9f1720b30ec02f8621cc7490aee665d3c24cda457dedb7931c1096b2a9273e6e233ff16ff2fecb4b6e011918f756871b06b87
@@ -21,6 +21,12 @@ aliases = {
21
21
  # Now branch to the specific task code
22
22
  case @command
23
23
 
24
+ when "tags"
25
+ Dir.chdir Origen.root do
26
+ system "ripper-tags --recursive lib"
27
+ end
28
+ exit 0
29
+
24
30
  # Run the unit tests
25
31
  when "specs"
26
32
  require "rspec"
@@ -68,6 +74,7 @@ else
68
74
  specs Run the specs (tests), -c will enable coverage
69
75
  examples Run the examples (tests), -c will enable coverage
70
76
  test Run both specs and examples, -c will enable coverage
77
+ tags Generate ctags for this app
71
78
  EOT
72
79
 
73
80
  end
@@ -1,7 +1,7 @@
1
1
  module OrigenTesters
2
2
  MAJOR = 0
3
3
  MINOR = 7
4
- BUGFIX = 7
4
+ BUGFIX = 8
5
5
  DEV = nil
6
6
 
7
7
  VERSION = [MAJOR, MINOR, BUGFIX].join(".") + (DEV ? ".pre#{DEV}" : '')
@@ -94,6 +94,7 @@ module OrigenTesters
94
94
  self.global_specs_filename = name
95
95
  self.jobs_filename = name
96
96
  self.references_filename = name
97
+ self.pattern_references_name = name
97
98
  end
98
99
 
99
100
  # Set the name of the current pinmap sheet. This does not change
@@ -15,6 +15,19 @@ module OrigenTesters
15
15
  end
16
16
  end
17
17
 
18
+ class PatternArray < ::Array
19
+ def <<(pat)
20
+ push(pat)
21
+ end
22
+
23
+ # Override the array push method to capture the pattern under the new API, but
24
+ # maintain the old one where a pattern reference was just pushed to the
25
+ # referenced_patterns array
26
+ def push(pat)
27
+ Origen.interface.record_pattern_reference(pat)
28
+ end
29
+ end
30
+
18
31
  def self.with_resources_mode
19
32
  orig = @resources_mode
20
33
  @resources_mode = true
@@ -100,38 +113,108 @@ module OrigenTesters
100
113
 
101
114
  def on_program_completion(options = {})
102
115
  reset_globals
116
+ @@pattern_references = {}
103
117
  @@referenced_patterns = nil
104
- @@referenced_subroutine_patterns = nil
105
118
  end
106
119
 
120
+ # A secondary pattern is one where the pattern has been created by Origen as an output from
121
+ # generating another pattern (a primary pattern). For example, on V93K anytime a tester
122
+ # handshake is done, the pattern will be split into separate components, such as
123
+ # meas_bgap.avc (the primary pattern) and meas_bgap_part1.avc (a secondary pattern).
124
+ #
125
+ # Any such secondary pattern references should be pushed to this array, rather than the
126
+ # referenced_patterns array.
127
+ # By using the dedicated secondary array, the pattern will not appear in the referenced.list
128
+ # file so that Origen is not asked to generate it (since it will be created naturally from
129
+ # the primary pattern reference).
130
+ # However if the ATE requires a reference to the pattern (e.g. the V93K pattern master file),
131
+ # then it will be included in the relevant ATE files.
132
+ def record_pattern_reference(name, options = {})
133
+ if name.is_a?(String) || name.is_a?(Symbol)
134
+ name = name.to_s
135
+ else
136
+ fail "Pattern name must be a string or a symbol, not a #{name.class}"
137
+ end
138
+ # Help out the user and force any multi-part patterns to :ate type
139
+ unless options[:type]
140
+ if name.sub(/\..*/, '') =~ /part\d+$/
141
+ options[:type] = :ate
142
+ end
143
+ end
144
+ unless options[:type] == :origen
145
+ # Inform the current generator that it has a new pattern reference to handle
146
+ if respond_to?(:pattern_reference_recorded)
147
+ pattern_reference_recorded(name, options)
148
+ end
149
+ end
150
+ base = options[:subroutine] ? pattern_references[:subroutine] : pattern_references[:main]
151
+ case options[:type]
152
+ when :origen
153
+ base[:origen] << name
154
+ when :ate
155
+ base[:ate] << name
156
+ when nil
157
+ base[:all] << name
158
+ else
159
+ fail "Unknown pattern reference type, #{options[:type]}, valid values are :origen or :ate"
160
+ end
161
+ nil
162
+ end
163
+
164
+ def pattern_references
165
+ @@pattern_references ||= {}
166
+ @@pattern_references[pattern_references_name] ||= {
167
+ main: {
168
+ all: [],
169
+ origen: [],
170
+ ate: []
171
+ },
172
+ subroutine: {
173
+ all: [],
174
+ origen: [],
175
+ ate: []
176
+ }
177
+ }
178
+ end
179
+
180
+ def all_pattern_references
181
+ pattern_references
182
+ @@pattern_references
183
+ end
184
+
185
+ def pattern_references_name=(name)
186
+ @pattern_references_name = name
187
+ end
188
+
189
+ def pattern_references_name
190
+ @pattern_references_name || 'global'
191
+ end
192
+
193
+ # @deprecated Use record_pattern_reference instead
194
+ #
107
195
  # All generators should push to this array whenever they reference a pattern
108
196
  # so that it is captured in the pattern list, e.g.
109
197
  # Origen.interface.referenced_patterns << pattern
198
+ #
199
+ # If the ATE platform also has a pattern list, e.g. the pattern master file on V93K,
200
+ # then this will also be updated.
201
+ # Duplicates will be automatically eliminated, so no duplicate checking should be
202
+ # performed on the application side.
110
203
  def referenced_patterns
111
- @@referenced_patterns ||= []
112
- end
113
-
114
- # All generators should push to this array whenever they reference a subroutine
115
- # pattern so that it is captured in the pattern list, e.g.
116
- # Origen.interface.referenced_subroutine_patterns << pattern
117
- def referenced_subroutine_patterns
118
- unless Origen.tester.v93k?
119
- fail 'referenced_subroutine_patterns is currently only implemented for V93k!'
120
- end
121
- @@referenced_subroutine_patterns ||= []
204
+ @@referenced_patterns ||= PatternArray.new
122
205
  end
123
206
 
124
207
  # Remove duplicates and file extensions from the referenced pattern lists
125
208
  def clean_referenced_patterns
126
209
  refs = [:referenced_patterns]
127
- refs << :referenced_subroutine_patterns if Origen.tester.v93k?
210
+ # refs << :referenced_subroutine_patterns if Origen.tester.v93k?
128
211
  refs.each do |ref|
129
- ref = send(ref)
130
- ref.uniq!
131
- ref.map! do |pat|
132
- pat.sub(/\..*/, '')
133
- end
134
- ref.uniq!
212
+ var = send(ref)
213
+ var = var.uniq.map do |pat|
214
+ pat = pat.sub(/\..*/, '')
215
+ pat unless pat =~ /_part\d+$/
216
+ end.uniq.compact
217
+ singleton_class.class_variable_set("@@#{ref}", var)
135
218
  end
136
219
  end
137
220
 
@@ -7,6 +7,8 @@ else
7
7
  end
8
8
  module Origen
9
9
  class Generator
10
+ include Comparator
11
+
10
12
  # Makes more sense for this plugin to own this method now
11
13
  def generate_program(file, options)
12
14
  Origen.file_handler.resolve_files(file, ignore_with_prefix: '_', default_dir: "#{Origen.root}/program") do |path|
@@ -26,10 +28,25 @@ module Origen
26
28
  dir = Pathname.new(file).dirname
27
29
  FileUtils.mkdir_p(dir) unless dir.exist?
28
30
  File.open(file, 'w') do |f|
29
- Origen.interface.referenced_patterns.uniq.sort.each do |pat|
30
- f.puts pat
31
+ pats = Origen.interface.all_pattern_references.map do |name, refs|
32
+ refs[:main][:all] + refs[:main][:origen]
33
+ end.flatten.uniq.sort
34
+ unless pats.empty?
35
+ f.puts '# Main patterns'
36
+ pats.each { |p| f.puts p }
37
+ f.puts
38
+ end
39
+
40
+ pats = Origen.interface.all_pattern_references.map do |name, refs|
41
+ refs[:subroutine][:all] + refs[:subroutine][:origen]
42
+ end.flatten.uniq.sort
43
+ unless pats.empty?
44
+ f.puts '# Subroutine patterns'
45
+ pats.each { |p| f.puts p }
31
46
  end
32
47
  end
48
+ ref_file = File.join(Origen.file_handler.reference_directory, Pathname.new(file).basename)
49
+ check_for_changes(file, ref_file)
33
50
  end
34
51
  Origen.interface.on_program_completion(options)
35
52
  end
@@ -75,12 +75,8 @@ module OrigenTesters
75
75
  end
76
76
  alias_method :capture, :store
77
77
 
78
- # Capture the next vector generated to HRAM
79
- #
80
- # This method applys a store vector (stv) opcode to the next vector to be generated,
81
- # note that is does not actually generate a new vector.
82
- #
83
- # On J750 the pins argument is ignored since the tester only supports whole vector capture.
78
+ # Same as the store method, except that the capture will be applied to the next
79
+ # vector to be generated.
84
80
  #
85
81
  # @example
86
82
  # $tester.store_next_cycle
@@ -4,10 +4,10 @@ module OrigenTesters
4
4
  class Flow < ATP::Formatter
5
5
  include OrigenTesters::Flow
6
6
 
7
- attr_accessor :test_suites, :test_methods, :pattern_master, :lines, :stack
7
+ attr_accessor :test_suites, :test_methods, :lines, :stack
8
8
 
9
9
  def subdirectory
10
- 'testflow'
10
+ 'testflow/mfh.testflow.group'
11
11
  end
12
12
 
13
13
  def filename
@@ -26,6 +26,12 @@ module OrigenTesters
26
26
  @runtime_control_variables ||= []
27
27
  end
28
28
 
29
+ def at_flow_start
30
+ end
31
+
32
+ def at_flow_end
33
+ end
34
+
29
35
  def finalize(options = {})
30
36
  super
31
37
  test_suites.finalize
@@ -16,6 +16,8 @@ module OrigenTesters
16
16
  def initialize(options = {})
17
17
  super
18
18
  @initialized = true
19
+ @@pattern_masters ||= {}
20
+ @@pattern_compilers ||= {}
19
21
  end
20
22
 
21
23
  def add_tml(name, methods)
@@ -27,16 +29,34 @@ module OrigenTesters
27
29
  # @api private
28
30
  def at_flow_start
29
31
  flow.at_flow_start
32
+ @pattern_master_filename = nil
33
+ end
34
+
35
+ # @api private
36
+ def at_flow_end
37
+ flow.at_flow_end
30
38
  end
31
39
 
32
40
  # @api private
33
41
  def at_run_start
34
42
  flow.at_run_start
35
43
  @@flow_sheets = nil
44
+ @@pattern_masters = nil
45
+ @@pattern_compilers = nil
36
46
  end
37
47
  alias_method :reset_globals, :at_run_start
38
48
 
39
49
  def resources_filename=(name)
50
+ self.pattern_master_filename = name
51
+ self.pattern_references_name = name
52
+ end
53
+
54
+ def pattern_master_filename=(name)
55
+ @pattern_master_filename = name
56
+ end
57
+
58
+ def pattern_master_filename
59
+ @pattern_master_filename || 'global'
40
60
  end
41
61
 
42
62
  def flow(filename = Origen.file_handler.current_file.basename('.rb').to_s)
@@ -48,35 +68,48 @@ module OrigenTesters
48
68
  p.filename = f
49
69
  p.test_suites ||= platform::TestSuites.new(p)
50
70
  p.test_methods ||= platform::TestMethods.new(p)
51
- p.pattern_master ||= platform::PatternMaster.new(p)
52
71
  flow_sheets[f] = p
53
72
  end
54
73
 
55
- # Returns a top-level pattern master file which will contain all patterns from
56
- # all flows. Additionally each flow has its own pattern master file containing
57
- # only the patterns for the specific flow.
74
+ # Returns the pattern master file (.pmfl) for the current flow, by default a common pattern
75
+ # master file called 'global' will be used for all flows.
76
+ # To use a different one set the resources_filename at the start of the flow.
58
77
  def pattern_master
59
- @pattern_master ||= begin
78
+ @@pattern_masters ||= {}
79
+ @@pattern_masters[pattern_master_filename] ||= begin
60
80
  m = platform::PatternMaster.new(manually_register: true)
61
- name = 'complete.pmfl'
81
+ name = "#{pattern_master_filename}.pmfl"
62
82
  name = "#{Origen.config.program_prefix}_#{name}" if Origen.config.program_prefix
63
83
  m.filename = name
84
+ m.id = pattern_master_filename
64
85
  m
65
86
  end
66
87
  end
67
88
 
68
- # Generates a pattern compiler configuration file (.aiv) to compile all
69
- # patterns referenced in all flows.
89
+ # Returns the pattern compiler file (.aiv) for the current flow, by default a common pattern
90
+ # compiler file called 'global' will be used for all flows.
91
+ # To use a different one set the resources_filename at the start of the flow.
70
92
  def pattern_compiler
71
- @pattern_compiler ||= begin
93
+ @@pattern_compilers ||= {}
94
+ @@pattern_compilers[pattern_master_filename] ||= begin
72
95
  m = platform::PatternCompiler.new(manually_register: true)
73
- name = 'complete.aiv'
96
+ name = "#{pattern_master_filename}.aiv"
74
97
  name = "#{Origen.config.program_prefix}_#{name}" if Origen.config.program_prefix
75
98
  m.filename = name
99
+ m.id = pattern_master_filename
76
100
  m
77
101
  end
78
102
  end
79
103
 
104
+ # @api private
105
+ def pattern_reference_recorded(name, options = {})
106
+ # Will be called everytime a pattern reference is made that the ATE should be aware of,
107
+ # don't need to remember it as it can be fetched from all_pattern_references later, but
108
+ # need to instantiate a pattern master and compiler to handle it later
109
+ pattern_master
110
+ pattern_compiler
111
+ end
112
+
80
113
  def test_suites
81
114
  flow.test_suites
82
115
  end
@@ -95,10 +128,13 @@ module OrigenTesters
95
128
  g = []
96
129
  flow_sheets.each do |_name, sheet|
97
130
  g << sheet
98
- g << sheet.pattern_master
99
131
  end
100
- g << pattern_master if pattern_master
101
- g << pattern_compiler unless referenced_subroutine_patterns.empty? && referenced_patterns.empty?
132
+ Hash(@@pattern_masters).each do |name, sheet|
133
+ g << sheet
134
+ end
135
+ Hash(@@pattern_compilers).each do |name, sheet|
136
+ g << sheet
137
+ end
102
138
  g
103
139
  end
104
140
 
@@ -5,17 +5,26 @@ module OrigenTesters
5
5
  class PatternCompiler
6
6
  include OrigenTesters::Generator
7
7
 
8
- attr_accessor :filename
8
+ attr_accessor :filename, :part_patterns, :id
9
9
 
10
10
  def initialize(flow = nil)
11
+ @part_patterns = []
11
12
  end
12
13
 
13
14
  def subroutines
14
- Origen.interface.referenced_subroutine_patterns
15
+ (references[:subroutine][:all] + references[:subroutine][:ate]).map do |p|
16
+ p.strip.sub(/\..*/, '')
17
+ end.uniq.sort
15
18
  end
16
19
 
17
20
  def patterns
18
- Origen.interface.referenced_patterns
21
+ (references[:main][:all] + references[:main][:ate]).map do |p|
22
+ p.strip.sub(/\..*/, '')
23
+ end.uniq.sort
24
+ end
25
+
26
+ def references
27
+ Origen.interface.all_pattern_references[id]
19
28
  end
20
29
  end
21
30
  end
@@ -6,7 +6,7 @@ module OrigenTesters
6
6
  include OrigenTesters::Generator
7
7
 
8
8
  attr_reader :flow, :paths
9
- attr_accessor :filename
9
+ attr_accessor :filename, :id
10
10
 
11
11
  def initialize(flow = nil)
12
12
  @flow = flow
@@ -14,20 +14,42 @@ module OrigenTesters
14
14
  end
15
15
 
16
16
  def filename
17
- @filename || flow.filename.sub('.flow', '.pmfl')
17
+ @filename || flow.filename.sub('.tf', '.pmfl')
18
18
  end
19
19
 
20
20
  def subdirectory
21
21
  'vectors'
22
22
  end
23
23
 
24
- def add(name, options = {})
25
- name, subdir = extract_subdir(name, options)
26
- name += '.binl.gz' unless name =~ /binl.gz$/
27
- Origen.interface.referenced_patterns << name
28
- paths[subdir] ||= []
29
- # Just add it, duplicates will be removed at render time
30
- paths[subdir] << name unless paths[subdir].include?(name)
24
+ def paths
25
+ { '.' => patterns }
26
+ end
27
+
28
+ # def add(name, options = {})
29
+ # name, subdir = extract_subdir(name, options)
30
+ # name += '.binl.gz' unless name =~ /binl.gz$/
31
+ # # Don't want to ask Origen to compile these, but do want them in the v93k
32
+ # # compile list
33
+ # if name =~ /_part\d+\.binl\.gz$/
34
+ # Origen.interface.pattern_compiler.part_patterns << name
35
+ # else
36
+ # Origen.interface.referenced_patterns << name
37
+ # end
38
+ # paths[subdir] ||= []
39
+ # # Just add it, duplicates will be removed at render time
40
+ # paths[subdir] << name unless paths[subdir].include?(name)
41
+ # end
42
+
43
+ def patterns
44
+ (references[:subroutine][:all] + references[:subroutine][:ate] +
45
+ references[:main][:all] + references[:main][:ate]).map do |p|
46
+ p = p.strip
47
+ p += '.binl.gz' unless p =~ /binl.gz$/
48
+ end.uniq
49
+ end
50
+
51
+ def references
52
+ Origen.interface.all_pattern_references[id]
31
53
  end
32
54
 
33
55
  private
@@ -89,7 +89,14 @@ module OrigenTesters
89
89
  type = parameters[attr]
90
90
  else
91
91
  # The type is based on the value of another attribute
92
- type = send(clean_attr_name(parameters[attr]))
92
+ name = clean_attr_name(parameters[attr])
93
+ if respond_to?(name)
94
+ type = send(name)
95
+ elsif respond_to?(name.sub(/b$/, ''))
96
+ type = inverse_of(send(name.sub(/b$/, '')))
97
+ else
98
+ fail "Unknown attribute type: #{parameters[attr]}"
99
+ end
93
100
  end
94
101
  case type
95
102
  when :current, 'CURR'
@@ -130,6 +137,17 @@ module OrigenTesters
130
137
 
131
138
  private
132
139
 
140
+ def inverse_of(type)
141
+ case type
142
+ when :current, 'CURR'
143
+ :voltage
144
+ when :voltage, 'VOLT'
145
+ :current
146
+ else
147
+ fail "Don't know the inverse of type: #{type}"
148
+ end
149
+ end
150
+
133
151
  def clean_attr_name(name)
134
152
  name.to_s.gsub(/\.|-/, '_')
135
153
  end
@@ -41,7 +41,7 @@ module OrigenTesters
41
41
  pinlist: [:string, '@'],
42
42
  force_mode: [:string, 'VOLT', %w(VOLT CURR)],
43
43
  force_value: [:force_mode, 3800.mV],
44
- spmu_clamp: [:current, 0],
44
+ spmu_clamp: [:force_modeb, 0],
45
45
  precharge: [:string, 'OFF', %w(ON OFF)],
46
46
  precharge_voltage: [:voltage, 0],
47
47
  settling_time: [:time, 0],
@@ -6,6 +6,10 @@ module OrigenTesters
6
6
  attr_reader :test_method
7
7
  attr_accessor :lo_limit, :hi_limit
8
8
  attr_accessor :unit
9
+ alias_method :lo, :lo_limit
10
+ alias_method :lo=, :lo_limit=
11
+ alias_method :hi, :hi_limit
12
+ alias_method :hi=, :hi_limit=
9
13
 
10
14
  def initialize(test_method)
11
15
  @test_method = test_method
@@ -95,6 +95,11 @@ module OrigenTesters
95
95
  end
96
96
  end
97
97
 
98
+ def pattern=(name)
99
+ Origen.interface.record_pattern_reference(name)
100
+ @pattern = name
101
+ end
102
+
98
103
  def inspect
99
104
  "<TestSuite: #{name}>"
100
105
  end
@@ -32,12 +32,8 @@ module OrigenTesters
32
32
  end
33
33
 
34
34
  def finalize
35
- collection.each do |suite|
36
- if suite.pattern
37
- flow.pattern_master.add suite.pattern
38
- Origen.interface.pattern_master.add suite.pattern
39
- end
40
- end
35
+ # collection.each do |suite|
36
+ # end
41
37
  end
42
38
 
43
39
  private
@@ -3,7 +3,7 @@ module OrigenTesters
3
3
  class V93K
4
4
  require 'origen_testers/smartest_based_tester/base/flow'
5
5
  class Flow < Base::Flow
6
- TEMPLATE = "#{Origen.root!}/lib/origen_testers/smartest_based_tester/v93k/templates/template.flow.erb"
6
+ TEMPLATE = "#{Origen.root!}/lib/origen_testers/smartest_based_tester/v93k/templates/template.tf.erb"
7
7
  end
8
8
  end
9
9
  end
@@ -9,9 +9,9 @@ single_binary_pattern_dir ./BINL/
9
9
  AI_V2B_OPTIONS -ALT -c <%= $dut.name.to_s.upcase %>.vbc -k -z PS800
10
10
 
11
11
  PATTERNS name tmf_file v2b_options
12
- % subroutines.uniq.sort.each do |pattern|
13
- <%= pattern.sub(/\..*/, '') %> <%= $dut.name.to_s.upcase %>.tmf -s
12
+ % subroutines.each do |pattern|
13
+ <%= pattern %> <%= $dut.name.to_s.upcase %>.tmf -s
14
14
  % end
15
- % patterns.uniq.sort.each do |pattern|
16
- <%= pattern.sub(/\..*/, '') %> <%= $dut.name.to_s.upcase %>.tmf
15
+ % patterns.each do |pattern|
16
+ <%= pattern %> <%= $dut.name.to_s.upcase %>.tmf
17
17
  % end
@@ -6,7 +6,7 @@ path:
6
6
  <%= path %>
7
7
 
8
8
  files:
9
- % patterns.uniq.sort.each do |pattern|
9
+ % patterns.sort.each do |pattern|
10
10
  <%= pattern %>
11
11
  % end
12
12
 
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.7.7
4
+ version: 0.7.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen McGinty
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-09 00:00:00.000000000 Z
11
+ date: 2016-08-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: origen
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.7.0
19
+ version: 0.7.23
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 0.7.0
26
+ version: 0.7.23
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: require_all
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -319,8 +319,8 @@ files:
319
319
  - lib/origen_testers/smartest_based_tester/v93k/pattern_compiler.rb
320
320
  - lib/origen_testers/smartest_based_tester/v93k/pattern_master.rb
321
321
  - lib/origen_testers/smartest_based_tester/v93k/templates/template.aiv.erb
322
- - lib/origen_testers/smartest_based_tester/v93k/templates/template.flow.erb
323
322
  - lib/origen_testers/smartest_based_tester/v93k/templates/template.pmfl.erb
323
+ - lib/origen_testers/smartest_based_tester/v93k/templates/template.tf.erb
324
324
  - lib/origen_testers/smartest_based_tester/v93k/test_method.rb
325
325
  - lib/origen_testers/smartest_based_tester/v93k/test_methods.rb
326
326
  - lib/origen_testers/smartest_based_tester/v93k/test_suite.rb
@@ -406,4 +406,3 @@ specification_version: 4
406
406
  summary: This plugin provides Origen tester models to drive ATE type testers like
407
407
  the J750, UltraFLEX, V93K,...
408
408
  test_files: []
409
- has_rdoc: