Class: DeepTest::TestTask

Inherits:
Object
  • Object
show all
Defined in:
lib/deep_test/test_task.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name = :deep_test) {|_self| ... } ⇒ TestTask

Returns a new instance of TestTask.

Yields:

  • (_self)

Yield Parameters:



5
6
7
8
9
# File 'lib/deep_test/test_task.rb', line 5

def initialize(name = :deep_test)
  @name = name
  yield self if block_given?
  define
end

Instance Attribute Details

#patternObject



31
32
33
# File 'lib/deep_test/test_task.rb', line 31

def pattern
  Dir.pwd + "/" + (@pattern || "test/**/*_test.rb")
end

#processesObject



35
36
37
# File 'lib/deep_test/test_task.rb', line 35

def processes
  @processes ? @processes.to_i : 2
end

Instance Method Details

#defineObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/deep_test/test_task.rb', line 11

def define
  desc "Run '#{@name}' suite using DeepTest"
  task @name => %w[deep_test:server:start] do
    begin
      deep_test_lib = File.expand_path(File.dirname(__FILE__) + "/..")
      
      # workers
      starter = File.expand_path(File.dirname(__FILE__) + "/start_workers.rb")
      ruby "-I#{deep_test_lib} #{starter} '#{processes}' '#{pattern}'"

      # loader
      loader = File.expand_path(File.dirname(__FILE__) + "/loader.rb")
      ruby "-I#{deep_test_lib} #{loader} '#{pattern}'"
    ensure
      Rake::Task["deep_test:workers:stop"].invoke
      Rake::Task["deep_test:server:stop"].invoke
    end
  end
end