Sunday, April 26, 2009

one more spell


test.using :stripedjunit

class StripedJunit < Buildr::JUnit
def run(tests, dependencies)
passed=[]
max_thrads=4
if tests.length<100
max_thrads=1
end
threads = (0..(max_thrads-1)).collect { |count|
Thread.new(count) { |partition_number| teh_tests = tests.select{|test| test.hash%max_thrads==partition_number}; passed << super(teh_tests, dependencies) unless teh_tests.empty? }
}
threads.each { |t| t.join }
passed.flatten
end
end

Buildr::TestFramework << StripedJunit

you get the idea.

0 kommenttia: