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