Blob Blame History Raw
From b25471833462b769df5d20fb4019aee46881489e Mon Sep 17 00:00:00 2001
From: Pavel Valena <pvalena@redhat.com>
Date: Fri, 16 Mar 2018 21:40:58 +0100
Subject: [PATCH] Check value of result.source_location in
 test_unit/reporter.rb#format_rerun_snippet

With Ruby 2.5 format_rerun_snippet can return nil, which crashes the test
suite, F.e.:

  TestUnitReporterTest#test_outputs_failures_inline:
  NoMethodError: undefined method `sub' for nil:NilClass
      test/test_unit/reporter_test.rb:62:in `block in <class:TestUnitReporterTest>'
  bin/rails test test/test_unit/reporter_test.rb:61
---
 railties/lib/rails/test_unit/reporter.rb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/railties/lib/rails/test_unit/reporter.rb b/railties/lib/rails/test_unit/reporter.rb
index 28b93ce..86d769d 100644
--- a/railties/lib/rails/test_unit/reporter.rb
+++ b/railties/lib/rails/test_unit/reporter.rb
@@ -68,7 +68,7 @@ def format_line(result)
       end
 
       def format_rerun_snippet(result)
-        location, line = if result.respond_to?(:source_location)
+        location, line = if result.respond_to?(:source_location) && result.source_location
           result.source_location
         else
           result.method(result.name).source_location
-- 
1.8.3.1