Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDylan Griffith <dyl.griffith@gmail.com>2018-04-30 08:39:47 +0300
committerDylan Griffith <dyl.griffith@gmail.com>2018-04-30 09:02:25 +0300
commit87740df2ba7153439c30544f299b235632717738 (patch)
tree66c40d2cf0e4289991ee8f3a9d038ac400f29da9 /spec/services/ci/register_job_service_spec.rb
parent0077679ae88793b200bdcf69d2ca7e4d15e6f7fa (diff)
Revert fair scheduling for all builds
Per discussion in https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/9646#note_65730532 this logic is being optimized elsewhere and it will simplify things if we make less changes to this code right now.
Diffstat (limited to 'spec/services/ci/register_job_service_spec.rb')
-rw-r--r--spec/services/ci/register_job_service_spec.rb51
1 files changed, 10 insertions, 41 deletions
diff --git a/spec/services/ci/register_job_service_spec.rb b/spec/services/ci/register_job_service_spec.rb
index 0c343425392..7d3c43eeaf7 100644
--- a/spec/services/ci/register_job_service_spec.rb
+++ b/spec/services/ci/register_job_service_spec.rb
@@ -195,56 +195,25 @@ module Ci
let!(:unrelated_group_runner) { create :ci_runner, groups: [unrelated_group] }
it 'does not consider builds from other group runners' do
- expect(described_class.new(group_runner).send(:builds_for_runner).count).to eq 6
+ expect(described_class.new(group_runner).send(:builds_for_group_runner).count).to eq 6
execute(group_runner)
- expect(described_class.new(group_runner).send(:builds_for_runner).count).to eq 5
+ expect(described_class.new(group_runner).send(:builds_for_group_runner).count).to eq 5
execute(group_runner)
- expect(described_class.new(group_runner).send(:builds_for_runner).count).to eq 4
+ expect(described_class.new(group_runner).send(:builds_for_group_runner).count).to eq 4
execute(group_runner)
- expect(described_class.new(group_runner).send(:builds_for_runner).count).to eq 3
+ expect(described_class.new(group_runner).send(:builds_for_group_runner).count).to eq 3
execute(group_runner)
- expect(described_class.new(group_runner).send(:builds_for_runner).count).to eq 2
+ expect(described_class.new(group_runner).send(:builds_for_group_runner).count).to eq 2
execute(group_runner)
- expect(described_class.new(group_runner).send(:builds_for_runner).count).to eq 1
+ expect(described_class.new(group_runner).send(:builds_for_group_runner).count).to eq 1
execute(group_runner)
- expect(described_class.new(group_runner).send(:builds_for_runner).count).to eq 0
- expect(execute(group_runner)).to be_nil
- end
-
- it 'prefers projects without builds first' do
- # it gets for one build from each of the projects
- expect(execute(group_runner)).to eq(build1_project1)
- expect(execute(group_runner)).to eq(build1_project2)
- expect(execute(group_runner)).to eq(build1_project3)
-
- # then it gets a second build from each of the projects
- expect(execute(group_runner)).to eq(build2_project1)
- expect(execute(group_runner)).to eq(build2_project2)
-
- # in the end the third build
- expect(execute(group_runner)).to eq(build3_project1)
-
- expect(execute(group_runner)).to be_nil
- end
-
- it 'equalises number of running builds' do
- # after finishing the first build for project 1, get a second build from the same project
- expect(execute(group_runner)).to eq(build1_project1)
- build1_project1.reload.success
- expect(execute(group_runner)).to eq(build2_project1)
-
- expect(execute(group_runner)).to eq(build1_project2)
- build1_project2.reload.success
- expect(execute(group_runner)).to eq(build2_project2)
- expect(execute(group_runner)).to eq(build1_project3)
- expect(execute(group_runner)).to eq(build3_project1)
-
+ expect(described_class.new(group_runner).send(:builds_for_group_runner).count).to eq 0
expect(execute(group_runner)).to be_nil
end
end
@@ -282,7 +251,7 @@ module Ci
let!(:other_build) { create :ci_build, pipeline: pipeline }
before do
- allow_any_instance_of(Ci::RegisterJobService).to receive(:builds_for_runner)
+ allow_any_instance_of(Ci::RegisterJobService).to receive(:builds_for_project_runner)
.and_return(Ci::Build.where(id: [pending_job, other_build]))
end
@@ -294,7 +263,7 @@ module Ci
context 'when single build is in queue' do
before do
- allow_any_instance_of(Ci::RegisterJobService).to receive(:builds_for_runner)
+ allow_any_instance_of(Ci::RegisterJobService).to receive(:builds_for_project_runner)
.and_return(Ci::Build.where(id: pending_job))
end
@@ -305,7 +274,7 @@ module Ci
context 'when there is no build in queue' do
before do
- allow_any_instance_of(Ci::RegisterJobService).to receive(:builds_for_runner)
+ allow_any_instance_of(Ci::RegisterJobService).to receive(:builds_for_project_runner)
.and_return(Ci::Build.none)
end