9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/server/group.rb', line 9
def self.build(files, sizes, instance_count, type)
tests_with_sizes = slow_tests_first(map_files_and_sizes(files, sizes))
groups = []
current_group, current_size = 0, 0
tests_with_sizes.each do |test, size|
if (0.5*size + current_size) > group_size(tests_with_sizes, instance_count) and instance_count > current_group + 1
current_size = size
current_group += 1
else
current_size += size
end
groups[current_group] ||= []
groups[current_group] << test
end
groups.compact
end
|