Sha256: 389950d976f2497a3b9d339535c9c814030d4431f69da6560972ee3bb693cf64

Contents?: true

Size: 1.25 KB

Versions: 2

Compression:

Stored size: 1.25 KB

Contents

module DeepTest
  class TestTask
    attr_accessor :libs, :requires

    def initialize(name = :deep_test, &block)
#       @requires = []
      @name = name
#       @libs = ["lib"]
      @options = Options.new({})
      
      @options.requires = []
      @options.libs = ["lib"]
      
      self.pattern = "test/**/*_test.rb"
#       yield self if block_given?
      @config_block = block
      define
    end
    
    def define
      require 'rake'
      desc "Run '#{@name}' suite using DeepTest"
      task @name do
        @config_block.call(self)
        lib_options = libs.any? ? "-I" + libs.join(File::PATH_SEPARATOR) : ""
        require_options = requires.map {|f| "-r#{f}"}.join(" ")
        ruby "#{lib_options} #{require_options} #{runner} '#{@options.to_command_line}'"
      end
    end

    Options::VALID_OPTIONS.each do |option|
      eval <<-end_src
        def #{option.name}
          @options.#{option.name}
        end

        def #{option.name}=(value)
          @options.#{option.name} = value
        end
      end_src
    end

    def pattern=(pattern)
      @options.pattern = Dir.pwd + "/" + pattern
    end

  private

    def runner
      File.expand_path(File.dirname(__FILE__) + "/../../script/internal/run_test_suite.rb")
    end    
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
jason-o-matic-deep_test-1.2.2.14 lib/deep_test/test_task.rb
jason-o-matic-deep_test-1.2.2.15 lib/deep_test/test_task.rb