class ParallelTests

def self.tests_in_groups(root, num)

finds all tests and partitions them into groups
def self.tests_in_groups(root, num)
  tests_with_sizes = slow_specs_first(find_tests_with_sizes(root))
  # always add to smallest group
  groups = Array.new(num){{:tests => [], :size => 0}}
  tests_with_sizes.each do |test, size|
    smallest = groups.sort_by{|g| g[:size] }.first
    smallest[:tests] << test
    smallest[:size] += size
  end
  groups.map{|g| g[:tests] }
end