origen_testers 0.52.3 → 0.52.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5349ea4cd6f5b1ed7997b2565c6eda09ad601070a71195d40375d1f70faab52d
4
- data.tar.gz: 571441a791984b34c8fe1205a05ede6fe1b6f89973d090fc2e6f7ba52da51a35
3
+ metadata.gz: 560e05a46dd54729a2e7a499963d3fd8326dd0e85810138a31ffc550144020e6
4
+ data.tar.gz: c8a794cd187f6434ccd5d0f17b491aa00f93f15bcf32cf9e91973d7f55f17aea
5
5
  SHA512:
6
- metadata.gz: 1b133340695a1ddab2db3f1e651748b15eebeb1f524866efcf04e1f5ca45bbfacfd753be0a31cd5b6c99b51b47df4c78229c09699c4271c4b03c57ef8760bcf7
7
- data.tar.gz: 45fd99e42edb9e438ec6930eeb6bc4a492e8f70f957cae8ffb2187863087c39b8f0bf97adfac9c6330e1374ebf457b158eddcbeca194d2affbd5fb1f0d30e355
6
+ metadata.gz: 686ae8123717d61dbe7106ceb6ccdd3775b24c5e00349c3430c95058714aa419500d5fd2d2e526ee0e06c84ce1607a5770faf78f6f3f7f2e94c051759730bfc1
7
+ data.tar.gz: 86531861b14ba739aba0dc0f4dd093a7452a918972327aee0ffc6f50cb10883af62b0b31214f5062b7ebe54ac7e070f6faaa40d94c1b071aac6c5e8eed700efe
data/config/version.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  module OrigenTesters
2
2
  MAJOR = 0
3
3
  MINOR = 52
4
- BUGFIX = 3
4
+ BUGFIX = 4
5
5
  DEV = nil
6
6
  VERSION = [MAJOR, MINOR, BUGFIX].join(".") + (DEV ? ".pre#{DEV}" : '')
7
7
  end
@@ -626,37 +626,32 @@ module OrigenTesters::ATP
626
626
  end
627
627
 
628
628
  def loop(*args, &block)
629
- if args[0].except(:source_file, :source_line_number).empty?
630
- # not a flow api call, just a loop block
631
- super(&block)
632
- else
633
- unless args[0].keys.include?(:from) && args[0].keys.include?(:to)
634
- fail 'Loop must specify :from, :to'
635
- end
636
- # assume 1 if :step not provided
637
- unless args[0].keys.include?(:step)
638
- args[0][:step] = 1
639
- end
640
- # assume 1 if :test_num_inc not provided
641
- unless args[0].keys.include?(:test_num_inc)
642
- args[0][:test_num_inc] = 1
643
- end
644
- # Add node for set of flag to be used for loop
645
- unless args[0][:var].nil?
646
- unless tester.smt8?
647
- set(args[0][:var], 0)
648
- end
629
+ unless args[0].keys.include?(:from) && args[0].keys.include?(:to)
630
+ fail 'Loop must specify :from, :to'
631
+ end
632
+ # assume 1 if :step not provided
633
+ unless args[0].keys.include?(:step)
634
+ args[0][:step] = 1
635
+ end
636
+ # assume 1 if :test_num_inc not provided
637
+ unless args[0].keys.include?(:test_num_inc)
638
+ args[0][:test_num_inc] = 1
639
+ end
640
+ # Add node for set of flag to be used for loop
641
+ unless args[0][:var].nil?
642
+ unless tester.smt8?
643
+ set(args[0][:var], 0)
649
644
  end
650
- extract_meta!(options) do
651
- apply_conditions(options) do
652
- # always pass 5-element array to loop node to simplify downstream parser
653
- # element, 'var', will be nil if not specified by loop call
654
- params = [args[0][:from], args[0][:to], args[0][:step], args[0][:var], args[0][:test_num_inc]]
645
+ end
646
+ extract_meta!(options) do
647
+ apply_conditions(options) do
648
+ # always pass 5-element array to loop node to simplify downstream parser
649
+ # element, 'var', will be nil if not specified by loop call
650
+ params = [args[0][:from], args[0][:to], args[0][:step], args[0][:var], args[0][:test_num_inc]]
655
651
 
656
- node = n(:loop, params)
657
- node = append_to(node) { block.call }
658
- node
659
- end
652
+ node = n(:loop, params)
653
+ node = append_to(node) { block.call }
654
+ node
660
655
  end
661
656
  end
662
657
  end
@@ -9,7 +9,7 @@ module OrigenTesters::ATP
9
9
  end
10
10
 
11
11
  ([:test, :bin, :pass, :continue, :cz, :log, :sub_test, :volatile, :add_global_flag, :set_flag, :unset_flag, :add_flag, :set, :enable, :disable, :render,
12
- :context_changed?, :ids, :describe_bin, :describe_softbin, :describe_soft_bin, :loop, :add_auxiliary_flow] +
12
+ :context_changed?, :ids, :describe_bin, :describe_softbin, :describe_soft_bin, :add_auxiliary_flow] +
13
13
  OrigenTesters::ATP::Flow::CONDITION_KEYS.keys + OrigenTesters::ATP::Flow::RELATIONAL_OPERATORS).each do |method|
14
14
  define_method method do |*args, &block|
15
15
  options = args.pop if args.last.is_a?(Hash)
@@ -23,6 +23,19 @@ module OrigenTesters::ATP
23
23
 
24
24
  alias_method :logprint, :log
25
25
 
26
+ def loop(*args, &block)
27
+ if args.empty?
28
+ super(&block)
29
+ else
30
+ options = args.pop if args.last.is_a?(Hash)
31
+ options ||= {}
32
+ add_meta!(options) if respond_to?(:add_meta!, true)
33
+ add_description!(options) if respond_to?(:add_description!, true)
34
+ args << options
35
+ atp.send(:loop, *args, &block)
36
+ end
37
+ end
38
+
26
39
  def lo_limit(value, options)
27
40
  {
28
41
  value: value,
@@ -124,7 +124,7 @@ module OrigenTesters
124
124
  # Guarentee hash is using all symbol keys
125
125
  # Since we cannot guarentee ruby version is greater than 2.5, we have to use an older syntax to
126
126
  value_hash = value_hash.inject({}) { |memo, (k, v)| memo[k.to_sym] = v; memo }
127
- nested_key = nested_param.first.to_sym
127
+ nested_key = nested_param.first.to_s.gsub('.', '_').to_sym
128
128
  nested_key_underscore = nested_key.to_s.underscore.to_sym
129
129
  nested_params_accepted_keys << nested_key
130
130
  nested_params_accepted_keys << nested_key_underscore
@@ -57,14 +57,16 @@ module OrigenTesters
57
57
  'hashParameter': [{ param_name0: [:string, 'NO'], param_name1: [:integer, 0] }],
58
58
  'hashParameter2': [{ param_name0: [:string, 'NO'], param_name1: [:integer, 0] }],
59
59
  'nestedHashParameter': [{
60
- param_name0: [:string, ''],
61
- param_list_strings: [:list_strings, %w(E1 E2)],
62
- param_list_classes: [:list_classes, %w(E1 E2)],
63
- param_name1: [{
64
- param_name_int: [:integer, 0],
65
- param_name_double: [:double, 0],
66
- param_list_strings: [:list_strings, %w(E1 E2)],
67
- param_list_classes: [:list_classes, %w(E1 E2)]
60
+ param_name0: [:string, ''],
61
+ param_list_strings: [:list_strings, %w(E1 E2)],
62
+ param_list_classes: [:list_classes, %w(E1 E2)],
63
+ 'param_group.param0': [:string, ''],
64
+ param_name1: [{
65
+ param_name_int: [:integer, 0],
66
+ param_name_double: [:double, 0],
67
+ param_list_strings: [:list_strings, %w(E1 E2)],
68
+ param_list_classes: [:list_classes, %w(E1 E2)],
69
+ 'param_group.param1': [:string, '']
68
70
  }]
69
71
  }],
70
72
  'nestedHashParameter2': [{
@@ -320,11 +322,13 @@ module OrigenTesters
320
322
  }
321
323
  tm.nestedHashParameter = {
322
324
  my_param_name0: {
323
- param_name0: 'hello',
324
- param_name1: {
325
+ param_name0: 'hello',
326
+ param_group_param0: 'test_group',
327
+ param_name1: {
325
328
  my_param_name1: {
326
- param_name_int: '1',
327
- param_name_double: '1.0'
329
+ param_name_int: '1',
330
+ param_name_double: '1.0',
331
+ param_group_param1: 'test_nested_group'
328
332
  },
329
333
  my_param_name2: {
330
334
  param_name_int: 2,
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.52.3
4
+ version: 0.52.4
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-06-20 00:00:00.000000000 Z
11
+ date: 2024-07-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: origen
@@ -615,7 +615,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
615
615
  - !ruby/object:Gem::Version
616
616
  version: '0'
617
617
  requirements: []
618
- rubygems_version: 3.2.3
618
+ rubygems_version: 3.4.10
619
619
  signing_key:
620
620
  specification_version: 4
621
621
  summary: This plugin provides Origen tester models to drive ATE type testers like