Commit 0f31acd0ec9b8a6ccfe9c6b0038736ad724814c0
Exists in
spb-stable
and in
3 other branches
Merge pull request #6753 from jvanbaarsen/split_tests
Proposal for split testing
Showing
23 changed files
with
49 additions
and
24 deletions
Show diff stats
.travis.yml
@@ -4,10 +4,12 @@ env: | @@ -4,10 +4,12 @@ env: | ||
4 | - TRAVIS=true | 4 | - TRAVIS=true |
5 | matrix: | 5 | matrix: |
6 | - TASK=spinach DB=mysql | 6 | - TASK=spinach DB=mysql |
7 | - - TASK=spec DB=mysql | 7 | + - TASK=spec:api DB=mysql |
8 | + - TASK=spec:other DB=mysql | ||
8 | - TASK=jasmine:ci DB=mysql | 9 | - TASK=jasmine:ci DB=mysql |
9 | - TASK=spinach DB=postgresql | 10 | - TASK=spinach DB=postgresql |
10 | - - TASK=spec DB=postgresql | 11 | + - TASK=spec:api DB=mysql |
12 | + - TASK=spec:other DB=postgresql | ||
11 | - TASK=jasmine:ci DB=postgresql | 13 | - TASK=jasmine:ci DB=postgresql |
12 | before_install: | 14 | before_install: |
13 | - sudo apt-get install libicu-dev -y | 15 | - sudo apt-get install libicu-dev -y |
lib/tasks/spec.rake
1 | Rake::Task["spec"].clear if Rake::Task.task_defined?('spec') | 1 | Rake::Task["spec"].clear if Rake::Task.task_defined?('spec') |
2 | 2 | ||
3 | +namespace :spec do | ||
4 | + desc 'GITLAB | Run feature specs' | ||
5 | + task :api do | ||
6 | + cmds = [ | ||
7 | + %W(rake gitlab:setup), | ||
8 | + %W(rspec spec --tag @api) | ||
9 | + ] | ||
10 | + run_commands(cmds) | ||
11 | + end | ||
12 | + | ||
13 | + desc 'GITLAB | Run other specs' | ||
14 | + task :other do | ||
15 | + cmds = [ | ||
16 | + %W(rake gitlab:setup), | ||
17 | + %W(rspec spec --tag ~@api) | ||
18 | + ] | ||
19 | + run_commands(cmds) | ||
20 | + end | ||
21 | +end | ||
22 | + | ||
3 | desc "GITLAB | Run specs" | 23 | desc "GITLAB | Run specs" |
4 | task :spec do | 24 | task :spec do |
5 | cmds = [ | 25 | cmds = [ |
6 | %W(rake gitlab:setup), | 26 | %W(rake gitlab:setup), |
7 | %W(rspec spec), | 27 | %W(rspec spec), |
8 | ] | 28 | ] |
29 | + run_commands(cmds) | ||
30 | +end | ||
9 | 31 | ||
32 | +def run_commands(cmds) | ||
10 | cmds.each do |cmd| | 33 | cmds.each do |cmd| |
11 | system({'RAILS_ENV' => 'test', 'force' => 'yes'}, *cmd) | 34 | system({'RAILS_ENV' => 'test', 'force' => 'yes'}, *cmd) |
12 | raise "#{cmd} failed!" unless $?.exitstatus.zero? | 35 | raise "#{cmd} failed!" unless $?.exitstatus.zero? |
spec/features/gitlab_flavored_markdown_spec.rb
1 | require 'spec_helper' | 1 | require 'spec_helper' |
2 | 2 | ||
3 | -describe "GitLab Flavored Markdown" do | 3 | +describe "GitLab Flavored Markdown", features: true do |
4 | let(:project) { create(:project) } | 4 | let(:project) { create(:project) } |
5 | let(:issue) { create(:issue, project: project) } | 5 | let(:issue) { create(:issue, project: project) } |
6 | let(:merge_request) { create(:merge_request, source_project: project, target_project: project) } | 6 | let(:merge_request) { create(:merge_request, source_project: project, target_project: project) } |
spec/models/assembla_service_spec.rb
@@ -19,7 +19,7 @@ | @@ -19,7 +19,7 @@ | ||
19 | 19 | ||
20 | require 'spec_helper' | 20 | require 'spec_helper' |
21 | 21 | ||
22 | -describe AssemblaService do | 22 | +describe AssemblaService, models: true do |
23 | describe "Associations" do | 23 | describe "Associations" do |
24 | it { should belong_to :project } | 24 | it { should belong_to :project } |
25 | it { should have_one :service_hook } | 25 | it { should have_one :service_hook } |
spec/requests/api/api_helpers_spec.rb
1 | require 'spec_helper' | 1 | require 'spec_helper' |
2 | 2 | ||
3 | -describe API do | 3 | +describe API, api: true do |
4 | include API::APIHelpers | 4 | include API::APIHelpers |
5 | include ApiHelpers | 5 | include ApiHelpers |
6 | let(:user) { create(:user) } | 6 | let(:user) { create(:user) } |
@@ -158,4 +158,4 @@ describe API do | @@ -158,4 +158,4 @@ describe API do | ||
158 | sudo_identifier.should == ' 123' | 158 | sudo_identifier.should == ' 123' |
159 | end | 159 | end |
160 | end | 160 | end |
161 | -end | ||
162 | \ No newline at end of file | 161 | \ No newline at end of file |
162 | +end |
spec/requests/api/branches_spec.rb
1 | require 'spec_helper' | 1 | require 'spec_helper' |
2 | require 'mime/types' | 2 | require 'mime/types' |
3 | 3 | ||
4 | -describe API::API do | 4 | +describe API::API, api: true do |
5 | include ApiHelpers | 5 | include ApiHelpers |
6 | before(:each) { enable_observers } | 6 | before(:each) { enable_observers } |
7 | after(:each) {disable_observers} | 7 | after(:each) {disable_observers} |
spec/requests/api/commits_spec.rb
1 | require 'spec_helper' | 1 | require 'spec_helper' |
2 | require 'mime/types' | 2 | require 'mime/types' |
3 | 3 | ||
4 | -describe API::API do | 4 | +describe API::API, api: true do |
5 | include ApiHelpers | 5 | include ApiHelpers |
6 | before(:each) { enable_observers } | 6 | before(:each) { enable_observers } |
7 | after(:each) {disable_observers} | 7 | after(:each) {disable_observers} |
spec/requests/api/files_spec.rb
1 | require 'spec_helper' | 1 | require 'spec_helper' |
2 | 2 | ||
3 | -describe API::API do | 3 | +describe API::API, api: true do |
4 | include ApiHelpers | 4 | include ApiHelpers |
5 | before(:each) { ActiveRecord::Base.observers.enable(:user_observer) } | 5 | before(:each) { ActiveRecord::Base.observers.enable(:user_observer) } |
6 | after(:each) { ActiveRecord::Base.observers.disable(:user_observer) } | 6 | after(:each) { ActiveRecord::Base.observers.disable(:user_observer) } |
spec/requests/api/groups_spec.rb
spec/requests/api/internal_spec.rb
1 | require 'spec_helper' | 1 | require 'spec_helper' |
2 | 2 | ||
3 | -describe API::API do | 3 | +describe API::API, api: true do |
4 | include ApiHelpers | 4 | include ApiHelpers |
5 | before(:each) { ActiveRecord::Base.observers.enable(:user_observer) } | 5 | before(:each) { ActiveRecord::Base.observers.enable(:user_observer) } |
6 | after(:each) { ActiveRecord::Base.observers.disable(:user_observer) } | 6 | after(:each) { ActiveRecord::Base.observers.disable(:user_observer) } |
spec/requests/api/issues_spec.rb
1 | require 'spec_helper' | 1 | require 'spec_helper' |
2 | 2 | ||
3 | -describe API::API do | 3 | +describe API::API, api: true do |
4 | include ApiHelpers | 4 | include ApiHelpers |
5 | before(:each) { ActiveRecord::Base.observers.enable(:user_observer) } | 5 | before(:each) { ActiveRecord::Base.observers.enable(:user_observer) } |
6 | after(:each) { ActiveRecord::Base.observers.disable(:user_observer) } | 6 | after(:each) { ActiveRecord::Base.observers.disable(:user_observer) } |
spec/requests/api/merge_requests_spec.rb
1 | require "spec_helper" | 1 | require "spec_helper" |
2 | 2 | ||
3 | -describe API::API do | 3 | +describe API::API, api: true do |
4 | include ApiHelpers | 4 | include ApiHelpers |
5 | before(:each) { ActiveRecord::Base.observers.enable(:user_observer) } | 5 | before(:each) { ActiveRecord::Base.observers.enable(:user_observer) } |
6 | after(:each) { ActiveRecord::Base.observers.disable(:user_observer) } | 6 | after(:each) { ActiveRecord::Base.observers.disable(:user_observer) } |
spec/requests/api/milestones_spec.rb
spec/requests/api/namespaces_spec.rb
1 | require 'spec_helper' | 1 | require 'spec_helper' |
2 | 2 | ||
3 | -describe API::API do | 3 | +describe API::API, api: true do |
4 | include ApiHelpers | 4 | include ApiHelpers |
5 | before(:each) { ActiveRecord::Base.observers.enable(:user_observer) } | 5 | before(:each) { ActiveRecord::Base.observers.enable(:user_observer) } |
6 | after(:each) { ActiveRecord::Base.observers.disable(:user_observer) } | 6 | after(:each) { ActiveRecord::Base.observers.disable(:user_observer) } |
spec/requests/api/notes_spec.rb
1 | require 'spec_helper' | 1 | require 'spec_helper' |
2 | 2 | ||
3 | -describe API::API do | 3 | +describe API::API, api: true do |
4 | include ApiHelpers | 4 | include ApiHelpers |
5 | before(:each) { ActiveRecord::Base.observers.enable(:user_observer) } | 5 | before(:each) { ActiveRecord::Base.observers.enable(:user_observer) } |
6 | after(:each) { ActiveRecord::Base.observers.disable(:user_observer) } | 6 | after(:each) { ActiveRecord::Base.observers.disable(:user_observer) } |
spec/requests/api/project_hooks_spec.rb
1 | require 'spec_helper' | 1 | require 'spec_helper' |
2 | 2 | ||
3 | -describe API::API, 'ProjectHooks' do | 3 | +describe API::API, 'ProjectHooks', api: true do |
4 | include ApiHelpers | 4 | include ApiHelpers |
5 | before(:each) { enable_observers } | 5 | before(:each) { enable_observers } |
6 | after(:each) { disable_observers } | 6 | after(:each) { disable_observers } |
spec/requests/api/project_members_spec.rb
1 | require 'spec_helper' | 1 | require 'spec_helper' |
2 | 2 | ||
3 | -describe API::API do | 3 | +describe API::API, api: true do |
4 | include ApiHelpers | 4 | include ApiHelpers |
5 | before(:each) { enable_observers } | 5 | before(:each) { enable_observers } |
6 | after(:each) { disable_observers } | 6 | after(:each) { disable_observers } |
spec/requests/api/projects_spec.rb
1 | require 'spec_helper' | 1 | require 'spec_helper' |
2 | 2 | ||
3 | -describe API::API do | 3 | +describe API::API, api: true do |
4 | include ApiHelpers | 4 | include ApiHelpers |
5 | before(:each) { enable_observers } | 5 | before(:each) { enable_observers } |
6 | after(:each) { disable_observers } | 6 | after(:each) { disable_observers } |
spec/requests/api/repositories_spec.rb
1 | require 'spec_helper' | 1 | require 'spec_helper' |
2 | require 'mime/types' | 2 | require 'mime/types' |
3 | 3 | ||
4 | -describe API::API do | 4 | +describe API::API, api: true do |
5 | include ApiHelpers | 5 | include ApiHelpers |
6 | before(:each) { enable_observers } | 6 | before(:each) { enable_observers } |
7 | after(:each) {disable_observers} | 7 | after(:each) {disable_observers} |
spec/requests/api/services_spec.rb
1 | require "spec_helper" | 1 | require "spec_helper" |
2 | 2 | ||
3 | -describe API::API do | 3 | +describe API::API, api: true do |
4 | include ApiHelpers | 4 | include ApiHelpers |
5 | before(:each) { ActiveRecord::Base.observers.enable(:user_observer) } | 5 | before(:each) { ActiveRecord::Base.observers.enable(:user_observer) } |
6 | after(:each) { ActiveRecord::Base.observers.disable(:user_observer) } | 6 | after(:each) { ActiveRecord::Base.observers.disable(:user_observer) } |
spec/requests/api/session_spec.rb
spec/requests/api/system_hooks_spec.rb