Sha256: 779add71faf9eb2c7c144f864210ac2f5e29d37ffddbd707a01e14a5c8fc9c6c

Contents?: true

Size: 1.78 KB

Versions: 30

Compression:

Stored size: 1.78 KB

Contents

module OrigenTesters
  module SmartestBasedTester
    class V93K_SMT8
      require 'origen_testers/smartest_based_tester/base/test_suite'
      class TestSuite < Base::TestSuite
        ATTRS =
          %w(
            name
            comment

            test_method

            pattern
            specification
          )

        ALIASES = {
          spec:          :specification,
          test_function: :test_method
        }

        DEFAULTS = {
        }

        # Generate accessors for all attributes and their aliases
        ATTRS.each do |attr|
          if attr == 'name' || attr == 'pattern'
            attr_reader attr.to_sym
          else
            attr_accessor attr.to_sym
          end
        end

        # Define the aliases
        ALIASES.each do |_alias, val|
          define_method("#{_alias}=") do |v|
            send("#{val}=", v)
          end
          define_method("#{_alias}") do
            send(val)
          end
        end

        def lines
          l = []
          l << "suite #{name} calls #{test_method.klass} {"
          if pattern && !pattern.to_s.empty?
            l << "    measurement.pattern = setupRef(#{tester.package_namespace}.patterns.#{pattern});"
          end
          if specification && !specification.to_s.empty?
            l << "    measurement.specification = setupRef(#{tester.package_namespace}.specs.#{specification});"
          end
          test_method.sorted_parameters.each do |param|
            name = param[0]
            unless name.is_a?(String)
              name = name.to_s[0] == '_' ? name.to_s.camelize(:upper) : name.to_s.camelize(:lower)
            end
            l << "    #{name} = #{wrap_if_string(test_method.format(param[0]))};"
          end
          l << '}'
          l
        end
      end
    end
  end
end

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
origen_testers-0.51.5 lib/origen_testers/smartest_based_tester/v93k_smt8/test_suite.rb
origen_testers-0.51.4 lib/origen_testers/smartest_based_tester/v93k_smt8/test_suite.rb
origen_testers-0.51.3 lib/origen_testers/smartest_based_tester/v93k_smt8/test_suite.rb
origen_testers-0.51.2 lib/origen_testers/smartest_based_tester/v93k_smt8/test_suite.rb
origen_testers-0.51.1 lib/origen_testers/smartest_based_tester/v93k_smt8/test_suite.rb
origen_testers-0.51.0 lib/origen_testers/smartest_based_tester/v93k_smt8/test_suite.rb
origen_testers-0.50.0 lib/origen_testers/smartest_based_tester/v93k_smt8/test_suite.rb
origen_testers-0.49.4 lib/origen_testers/smartest_based_tester/v93k_smt8/test_suite.rb
origen_testers-0.49.3 lib/origen_testers/smartest_based_tester/v93k_smt8/test_suite.rb
origen_testers-0.49.2 lib/origen_testers/smartest_based_tester/v93k_smt8/test_suite.rb
origen_testers-0.49.1 lib/origen_testers/smartest_based_tester/v93k_smt8/test_suite.rb
origen_testers-0.49.0 lib/origen_testers/smartest_based_tester/v93k_smt8/test_suite.rb
origen_testers-0.48.3 lib/origen_testers/smartest_based_tester/v93k_smt8/test_suite.rb
origen_testers-0.48.2 lib/origen_testers/smartest_based_tester/v93k_smt8/test_suite.rb
origen_testers-0.48.1 lib/origen_testers/smartest_based_tester/v93k_smt8/test_suite.rb
origen_testers-0.48.0 lib/origen_testers/smartest_based_tester/v93k_smt8/test_suite.rb
origen_testers-0.47.0 lib/origen_testers/smartest_based_tester/v93k_smt8/test_suite.rb
origen_testers-0.46.1 lib/origen_testers/smartest_based_tester/v93k_smt8/test_suite.rb
origen_testers-0.46.0 lib/origen_testers/smartest_based_tester/v93k_smt8/test_suite.rb
origen_testers-0.45.4 lib/origen_testers/smartest_based_tester/v93k_smt8/test_suite.rb