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:
Post a Comment