Sha256: cba981d376c95c1306dcf78f21eaeee795513fab779f59c5b006976fbef867cc
Contents?: true
Size: 1.5 KB
Versions: 1
Compression:
Stored size: 1.5 KB
Contents
module DeepTest class TestTask DEFAULT_NUMBER_OF_WORKERS = 2 attr_writer :number_of_workers, :pattern def initialize(name = :deep_test) @name = name yield self if block_given? define end def define desc "Run '#{@name}' suite using DeepTest" task @name do begin deep_test_lib = File.expand_path(File.dirname(__FILE__) + "/..") $LOAD_PATH << deep_test_lib require "deep_test" warlock = DeepTest::Warlock.new # server warlock.start "server" do DeepTest::Server.start end sleep 0.25 # workers number_of_workers.times do |i| warlock.start "worker #{i}" do srand # re-seed random numbers ENV["RAILS_ENV"] = "test" Object.const_set "RAILS_ENV", "test" Dir.glob(pattern).each { |file| load file } blackboard = DeepTest::RindaBlackboard.new DeepTest::Worker.new(blackboard).run end end # loader loader = File.expand_path(File.dirname(__FILE__) + "/loader.rb") ruby "-I#{deep_test_lib} #{loader} '#{pattern}'" ensure warlock.stop_all if warlock end end end def number_of_workers @number_of_workers ? @number_of_workers.to_i : DEFAULT_NUMBER_OF_WORKERS end def pattern Dir.pwd + "/" + (@pattern || "test/**/*_test.rb") end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
deep_test-1.1.0 | lib/deep_test/test_task.rb |