mirror of
https://github.com/sinatra/sinatra
synced 2023-03-27 23:18:01 -04:00
get rid of backtrace cleaning
This commit is contained in:
parent
b6701db3fa
commit
ccb66b0f30
2 changed files with 1 additions and 58 deletions
|
@ -648,21 +648,11 @@ module Sinatra
|
|||
end
|
||||
|
||||
def dump_errors!(boom)
|
||||
backtrace = clean_backtrace(boom.backtrace)
|
||||
msg = ["#{boom.class} - #{boom.message}:",
|
||||
*backtrace].join("\n ")
|
||||
*boom.backtrace].join("\n ")
|
||||
@env['rack.errors'].puts(msg)
|
||||
end
|
||||
|
||||
def clean_backtrace(trace)
|
||||
return trace unless settings.clean_trace?
|
||||
|
||||
trace.reject { |line|
|
||||
line =~ /lib\/sinatra.*\.rb/ ||
|
||||
(defined?(Gem) && line.include?(Gem.dir))
|
||||
}.map! { |line| line.gsub(/^\.\//, '') }
|
||||
end
|
||||
|
||||
class << self
|
||||
attr_reader :routes, :before_filters, :after_filters, :templates, :errors
|
||||
|
||||
|
@ -1053,7 +1043,6 @@ module Sinatra
|
|||
set :raise_errors, Proc.new { test? }
|
||||
set :dump_errors, Proc.new { !test? }
|
||||
set :show_exceptions, Proc.new { development? }
|
||||
set :clean_trace, true
|
||||
set :sessions, false
|
||||
set :logging, false
|
||||
set :method_override, false
|
||||
|
|
|
@ -135,52 +135,6 @@ class SettingsTest < Test::Unit::TestCase
|
|||
end
|
||||
end
|
||||
|
||||
describe 'clean_trace' do
|
||||
def clean_backtrace(trace)
|
||||
Sinatra::Base.new.send(:clean_backtrace, trace)
|
||||
end
|
||||
|
||||
it 'is enabled on Base' do
|
||||
assert @base.clean_trace?
|
||||
end
|
||||
|
||||
it 'is enabled on Application' do
|
||||
assert @application.clean_trace?
|
||||
end
|
||||
|
||||
it 'does nothing when disabled' do
|
||||
backtrace = [
|
||||
"./lib/sinatra/base.rb",
|
||||
"./myapp:42",
|
||||
("#{Gem.dir}/some/lib.rb" if defined?(Gem))
|
||||
].compact
|
||||
|
||||
klass = Class.new(Sinatra::Base)
|
||||
klass.disable :clean_trace
|
||||
|
||||
assert_equal backtrace, klass.new.send(:clean_backtrace, backtrace)
|
||||
end
|
||||
|
||||
it 'removes sinatra lib paths from backtrace when enabled' do
|
||||
backtrace = [
|
||||
"./lib/sinatra/base.rb",
|
||||
"./lib/sinatra/compat.rb:42",
|
||||
"./lib/sinatra/main.rb:55 in `foo'"
|
||||
]
|
||||
assert clean_backtrace(backtrace).empty?
|
||||
end
|
||||
|
||||
it 'removes ./ prefix from backtrace paths when enabled' do
|
||||
assert_equal ['myapp.rb:42'], clean_backtrace(['./myapp.rb:42'])
|
||||
end
|
||||
|
||||
if defined?(Gem)
|
||||
it 'removes gem lib paths from backtrace when enabled' do
|
||||
assert clean_backtrace(["#{Gem.dir}/some/lib"]).empty?
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe 'run' do
|
||||
it 'is disabled on Base' do
|
||||
assert ! @base.run?
|
||||
|
|
Loading…
Add table
Reference in a new issue