summaryrefslogtreecommitdiff
path: root/test/rake/test_rake_backtrace.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/rake/test_rake_backtrace.rb')
-rw-r--r--test/rake/test_rake_backtrace.rb119
1 files changed, 0 insertions, 119 deletions
diff --git a/test/rake/test_rake_backtrace.rb b/test/rake/test_rake_backtrace.rb
deleted file mode 100644
index 78eaa8d52d..0000000000
--- a/test/rake/test_rake_backtrace.rb
+++ /dev/null
@@ -1,119 +0,0 @@
-require File.expand_path('../helper', __FILE__)
-require 'open3'
-
-class TestBacktraceSuppression < Rake::TestCase
- def test_bin_rake_suppressed
- paths = ["something/bin/rake:12"]
-
- actual = Rake::Backtrace.collapse(paths)
-
- assert_equal [], actual
- end
-
- def test_system_dir_suppressed
- path = RbConfig::CONFIG['rubylibprefix']
- skip if path.nil?
- path = File.expand_path path
-
- paths = [path + ":12"]
-
- actual = Rake::Backtrace.collapse(paths)
-
- assert_equal [], actual
- end
-
- def test_near_system_dir_isnt_suppressed
- path = RbConfig::CONFIG['rubylibprefix']
- skip if path.nil?
- path = File.expand_path path
-
- paths = [" " + path + ":12"]
-
- actual = Rake::Backtrace.collapse(paths)
-
- assert_equal paths, actual
- end
-end
-
-class TestRakeBacktrace < Rake::TestCase
- include RubyRunner
-
- def setup
- super
-
- skip 'tmpdir is suppressed in backtrace' if
- Rake::Backtrace::SUPPRESS_PATTERN =~ Dir.pwd
- end
-
- def invoke(*args)
- rake(*args)
- @err
- end
-
- def test_single_collapse
- rakefile %q{
- task :foo do
- raise "foooo!"
- end
- }
-
- lines = invoke("foo").split("\n")
-
- assert_equal "rake aborted!", lines[0]
- assert_equal "foooo!", lines[1]
- assert_something_matches %r!\A#{Regexp.quote Dir.pwd}/Rakefile:3!i, lines
- assert_something_matches %r!\ATasks:!, lines
- end
-
- def test_multi_collapse
- rakefile %q{
- task :foo do
- Rake.application.invoke_task(:bar)
- end
- task :bar do
- raise "barrr!"
- end
- }
-
- lines = invoke("foo").split("\n")
-
- assert_equal "rake aborted!", lines[0]
- assert_equal "barrr!", lines[1]
- assert_something_matches %r!\A#{Regexp.quote Dir.pwd}/Rakefile:6!i, lines
- assert_something_matches %r!\A#{Regexp.quote Dir.pwd}/Rakefile:3!i, lines
- assert_something_matches %r!\ATasks:!, lines
- end
-
- def test_suppress_option
- rakefile %q{
- task :baz do
- raise "bazzz!"
- end
- }
-
- lines = invoke("baz").split("\n")
- assert_equal "rake aborted!", lines[0]
- assert_equal "bazzz!", lines[1]
- assert_something_matches %r!Rakefile!i, lines
-
- lines = invoke("--suppress-backtrace", ".ak.file", "baz").split("\n")
- assert_equal "rake aborted!", lines[0]
- assert_equal "bazzz!", lines[1]
- refute_match %r!Rakefile!i, lines[2]
- end
-
- private
-
- # Assert that the pattern matches at least one line in +lines+.
- def assert_something_matches(pattern, lines)
- lines.each do |ln|
- if pattern =~ ln
- assert_match pattern, ln
- return
- end
- end
- flunk "expected #{pattern.inspect} to match something in:\n" +
- "#{lines.join("\n ")}"
- end
-
-end