diff --git a/spec/rspec/core/backtrace_formatter_spec.rb b/spec/rspec/core/backtrace_formatter_spec.rb index 7355243229..d9d9f554dd 100644 --- a/spec/rspec/core/backtrace_formatter_spec.rb +++ b/spec/rspec/core/backtrace_formatter_spec.rb @@ -206,7 +206,7 @@ def make_backtrace_formatter(exclusion_patterns=nil, inclusion_patterns=nil) end it "deals gracefully with a security error" do - safely do + with_safe_set_to_level_that_triggers_security_errors do self.formatter.__send__(:backtrace_line, __FILE__) # on some rubies, this doesn't raise a SecurityError; this test just # assures that if it *does* raise an error, the error is caught inside diff --git a/spec/rspec/core/formatters/snippet_extractor_spec.rb b/spec/rspec/core/formatters/snippet_extractor_spec.rb index 5227e2532f..2708be83a6 100644 --- a/spec/rspec/core/formatters/snippet_extractor_spec.rb +++ b/spec/rspec/core/formatters/snippet_extractor_spec.rb @@ -14,7 +14,7 @@ module Formatters it "falls back on a default message when it gets a security error" do message = nil - safely do + with_safe_set_to_level_that_triggers_security_errors do message = RSpec::Core::Formatters::SnippetExtractor.new.lines_around("blech", 8) end expect(message).to eq("# Couldn't get snippet for blech") diff --git a/spec/rspec/core/metadata_spec.rb b/spec/rspec/core/metadata_spec.rb index 7a6b2da1aa..5e363508fa 100644 --- a/spec/rspec/core/metadata_spec.rb +++ b/spec/rspec/core/metadata_spec.rb @@ -15,7 +15,7 @@ module Core end # I have no idea what line = line.sub(/\A([^:]+:\d+)$/, '\\1') is supposed to do it "gracefully returns nil if run in a secure thread" do - safely do + with_safe_set_to_level_that_triggers_security_errors do value = Metadata.relative_path(".") # on some rubies, File.expand_path is not a security error, so accept "." as well expect([nil, "."]).to include(value) diff --git a/spec/rspec/core/notifications_spec.rb b/spec/rspec/core/notifications_spec.rb index 499980a4ab..291dec721d 100644 --- a/spec/rspec/core/notifications_spec.rb +++ b/spec/rspec/core/notifications_spec.rb @@ -33,7 +33,7 @@ let(:exception) { instance_double(Exception, :backtrace => [ "#{__FILE__}:#{__LINE__}"]) } it "is handled gracefully" do - safely do + with_safe_set_to_level_that_triggers_security_errors do expect { notification.send(:read_failed_line) }.not_to raise_error end end diff --git a/spec/support/helper_methods.rb b/spec/support/helper_methods.rb index 4b6abe8705..ba7bab4882 100644 --- a/spec/support/helper_methods.rb +++ b/spec/support/helper_methods.rb @@ -11,7 +11,7 @@ def ignoring_warnings result end - def safely + def with_safe_set_to_level_that_triggers_security_errors Thread.new do ignoring_warnings { $SAFE = 3 } yield