Sha256: 11f42e02c3866da66979d198c119fb4115890dc6b705d3066442983cc1cfb2f2

Contents?: true

Size: 1.03 KB

Versions: 2

Compression:

Stored size: 1.03 KB

Contents

module OrigenTesters
  module SmartestBasedTester
    class Base
      module Processors
        class IfRanCleaner < ATP::Processor
          def on_test(node)
            on_pass = node.find(:on_pass)
            on_fail = node.find(:on_fail)

            unless on_pass.nil? || on_fail.nil?
              set_run_flag = on_fail.find(:set_run_flag)
              set_result = on_fail.find(:set_result)
              unless set_run_flag.nil? || set_result.nil?
                children = set_run_flag.children.dup
                name = children.shift
                ag_string = children.shift

                if name =~ /_RAN$/ && ag_string == 'auto_generated'
                  f = on_fail.dup
                  f = f.remove(set_result)
                  n = node.remove(on_fail)
                  n = n.updated(nil, n.children + (f.is_a?(Array) ? f : [f]))
                  return n
                end

              end
            end
            node
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
origen_testers-0.13.2 lib/origen_testers/smartest_based_tester/base/processors/if_ran_cleaner.rb
origen_testers-0.10.0 lib/origen_testers/smartest_based_tester/base/processors/if_ran_cleaner.rb