1
0
Fork 0
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:
Simon Rozet 2010-03-10 16:21:44 -08:00
parent b6701db3fa
commit ccb66b0f30
2 changed files with 1 additions and 58 deletions

View file

@ -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

View file

@ -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?