Skip to content

Commit 220e6b6

Browse files
marcandremergify[bot]
authored andcommitted
Allow SpecRunner to not run in parallel
1 parent 25f436e commit 220e6b6

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

tasks/check_commit.rake

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,12 @@ RuboCop::RakeTask.new(:check_commit, :commit) do |t, args|
1414
paths.reject { |p| p.start_with?(/docs|Gemfile|README|CHANGELOG/) }
1515
specs = paths.select { |p| p.start_with?('spec') }
1616

17-
puts "Checking: #{paths.join(' ')}"
18-
RuboCop::SpecRunner.new(specs).run_specs
17+
if specs.empty?
18+
puts 'Caution: No spec was changed!'
19+
else
20+
puts "Checking: #{paths.join(' ')}"
21+
RuboCop::SpecRunner.new(specs, parallel: false).run_specs
22+
end
1923

2024
t.patterns = paths
2125
end

tasks/spec_runner.rake

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,20 @@ module RuboCop
1313
class SpecRunner
1414
attr_reader :rspec_args
1515

16-
def initialize(rspec_args = %w[spec], external_encoding: 'UTF-8', internal_encoding: nil)
16+
def initialize(rspec_args = %w[spec], parallel: true,
17+
external_encoding: 'UTF-8', internal_encoding: nil)
1718
@rspec_args = rspec_args
1819
@previous_external_encoding = Encoding.default_external
1920
@previous_internal_encoding = Encoding.default_internal
2021

2122
@temporary_external_encoding = external_encoding
2223
@temporary_internal_encoding = internal_encoding
24+
@parallel = parallel
2325
end
2426

2527
def run_specs
2628
n_failures = with_encoding do
27-
if Process.respond_to?(:fork)
29+
if @parallel && Process.respond_to?(:fork)
2830
parallel_runner_klass.new(rspec_args).execute
2931
else
3032
::RSpec::Core::Runner.run(rspec_args)

0 commit comments

Comments
 (0)