Merge branch '29005-rspec-profiling-errors-to-warnings' into 'master'

Swallow collection errors in RspecProfiling

Closes #29005

See merge request !9765
This commit is contained in:
Robert Speicher 2017-03-07 18:03:23 +00:00
commit b240d86d75

View file

@ -1,22 +1,41 @@
module RspecProfilingConnection module RspecProfilingExt
module PSQL
def establish_connection def establish_connection
::RspecProfiling::Collectors::PSQL::Result.establish_connection(ENV['RSPEC_PROFILING_POSTGRES_URL']) ::RspecProfiling::Collectors::PSQL::Result.establish_connection(ENV['RSPEC_PROFILING_POSTGRES_URL'])
end end
end end
module RspecProfilingGitBranchCi module Git
def branch def branch
ENV['CI_BUILD_REF_NAME'] || super ENV['CI_BUILD_REF_NAME'] || super
end end
end end
module Run
def example_finished(*args)
super
rescue => err
return if @already_logged_example_finished_error
$stderr.puts "rspec_profiling couldn't collect an example: #{err}. Further warnings suppressed."
@already_logged_example_finished_error = true
end
alias_method :example_passed, :example_finished
alias_method :example_failed, :example_finished
end
end
if Rails.env.test? if Rails.env.test?
RspecProfiling.configure do |config| RspecProfiling.configure do |config|
if ENV['RSPEC_PROFILING_POSTGRES_URL'] if ENV['RSPEC_PROFILING_POSTGRES_URL']
RspecProfiling::Collectors::PSQL.prepend(RspecProfilingConnection) RspecProfiling::Collectors::PSQL.prepend(RspecProfilingExt::PSQL)
config.collector = RspecProfiling::Collectors::PSQL config.collector = RspecProfiling::Collectors::PSQL
end end
end end
RspecProfiling::VCS::Git.prepend(RspecProfilingGitBranchCi) if ENV.has_key?('CI') if ENV.has_key?('CI')
RspecProfiling::VCS::Git.prepend(RspecProfilingExt::Git)
RspecProfiling::Run.prepend(RspecProfilingExt::Run)
end
end end