Sha256: 65d1ba82d745809f48b017c12d724761119c1ac34c1cce998085f4eccc70901b

Contents?: true

Size: 1.17 KB

Versions: 22

Compression:

Stored size: 1.17 KB

Contents

require 'pathname'
module OrigenTesters
  module SmartestBasedTester
    class Base
      class PatternMaster
        include OrigenTesters::Generator

        attr_reader :flow, :paths
        attr_accessor :filename

        def initialize(flow = nil)
          @flow = flow
          @paths = {}
        end

        def filename
          @filename || flow.filename.sub('.flow', '.pmfl')
        end

        def subdirectory
          'vectors'
        end

        def add(name, options = {})
          name, subdir = extract_subdir(name, options)
          name += '.binl.gz' unless name =~ /binl.gz$/
          Origen.interface.referenced_patterns << name
          paths[subdir] ||= []
          # Just add it, duplicates will be removed at render time
          paths[subdir] << name unless paths[subdir].include?(name)
        end

        private

        def extract_subdir(name, options = {})
          p = Pathname.new(name.to_s)
          name = p.basename.to_s
          subdir = p.dirname.to_s
          # if subdir == '.'
          #  # In future may support setting a default subdir via the interface
          # end
          [name, subdir]
        end
      end
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
origen_testers-0.7.7 lib/origen_testers/smartest_based_tester/base/pattern_master.rb
origen_testers-0.7.6 lib/origen_testers/smartest_based_tester/base/pattern_master.rb
origen_testers-0.7.5 lib/origen_testers/smartest_based_tester/base/pattern_master.rb
origen_testers-0.7.4 lib/origen_testers/smartest_based_tester/base/pattern_master.rb
origen_testers-0.7.3 lib/origen_testers/smartest_based_tester/base/pattern_master.rb
origen_testers-0.7.2 lib/origen_testers/smartest_based_tester/base/pattern_master.rb
origen_testers-0.7.1 lib/origen_testers/smartest_based_tester/base/pattern_master.rb
origen_testers-0.7.0 lib/origen_testers/smartest_based_tester/base/pattern_master.rb
origen_testers-0.7.0.pre0 lib/origen_testers/smartest_based_tester/base/pattern_master.rb
origen_testers-0.6.2 lib/origen_testers/smartest_based_tester/base/pattern_master.rb
origen_testers-0.6.1 lib/origen_testers/smartest_based_tester/base/pattern_master.rb
origen_testers-0.6.0 lib/origen_testers/smartest_based_tester/base/pattern_master.rb
origen_testers-0.5.7 lib/origen_testers/smartest_based_tester/base/pattern_master.rb
origen_testers-0.5.6 lib/origen_testers/smartest_based_tester/base/pattern_master.rb
origen_testers-0.5.5 lib/origen_testers/smartest_based_tester/base/pattern_master.rb
origen_testers-0.5.4 lib/origen_testers/smartest_based_tester/base/pattern_master.rb
origen_testers-0.5.3 lib/origen_testers/smartest_based_tester/base/pattern_master.rb
origen_testers-0.5.2 lib/origen_testers/smartest_based_tester/base/pattern_master.rb
origen_testers-0.5.1 lib/origen_testers/smartest_based_tester/base/pattern_master.rb
origen_testers-0.5.0 lib/origen_testers/smartest_based_tester/base/pattern_master.rb