109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
# File 'lib/buffet/master.rb', line 109
def next_file_for(slave_name, previous_spec)
file = nil
@lock.synchronize do
if rerun_spec?(previous_spec)
@spec_queue_count[previous_spec] += 1
return previous_spec
else
if file = @specs.shift
@spec_queue_count[file] += 1
@current_spec_for_slave[slave_name] = file
@slaves_stats[slave_name][:specs] << file
end
end
end
if file
slave = nil
@lock.synchronize do
slave = @slaves_stats[slave_name][:slave]
end
@listener.spec_taken(slave, file)
end
file
end
|