From 063950d6f1bed23243037c8838dc7306b0dbf877 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20Rodr=C3=ADguez?= <deivid.rodriguez@riseup.net>
Date: Fri, 12 Jun 2020 12:34:03 +0200
Subject: [PATCH] Simplify default rake test loader

Unless I'm missing something, we can require `rake_test_loader`
directly. It's also safer, because there's no chance of requiring the
file of a different copy of `rake`, and faster.
---
 lib/rake/testtask.rb        | 37 +------------------------------------
 test/test_rake_test_task.rb |  2 +-
 2 files changed, 2 insertions(+), 37 deletions(-)

diff --git a/lib/rake/testtask.rb b/lib/rake/testtask.rb
index 537627567..6150f2f6e 100644
--- a/lib/rake/testtask.rb
+++ b/lib/rake/testtask.rb
@@ -181,44 +181,9 @@ def run_code # :nodoc:
       when :testrb
         "-S testrb"
       when :rake
-        "#{rake_include_arg} \"#{rake_loader}\""
+        "-r#{__dir__}/rake_test_loader"
       end
     end
 
-    def rake_loader # :nodoc:
-      find_file("rake/rake_test_loader") or
-        fail "unable to find rake test loader"
-    end
-
-    def find_file(fn) # :nodoc:
-      $LOAD_PATH.each do |path|
-        file_path = File.join(path, "#{fn}.rb")
-        return file_path if File.exist? file_path
-      end
-      nil
-    end
-
-    def rake_include_arg # :nodoc:
-      spec = Gem.loaded_specs["rake"]
-      if spec.respond_to?(:default_gem?) && spec.default_gem?
-        ""
-      else
-        "-I\"#{rake_lib_dir}\""
-      end
-    end
-
-    def rake_lib_dir # :nodoc:
-      find_dir("rake") or
-        fail "unable to find rake lib"
-    end
-
-    def find_dir(fn) # :nodoc:
-      $LOAD_PATH.each do |path|
-        file_path = File.join(path, "#{fn}.rb")
-        return path if File.exist? file_path
-      end
-      nil
-    end
-
   end
 end
diff --git a/test/test_rake_test_task.rb b/test/test_rake_test_task.rb
index 2fd1c1526..8f7d13f84 100644
--- a/test/test_rake_test_task.rb
+++ b/test/test_rake_test_task.rb
@@ -128,7 +128,7 @@ def test_run_code_rake
       t.loader = :rake
     end
 
-    assert_match(/\A-I".*?" ".*?"\Z/, test_task.run_code)
+    assert_match(/\A-r.*?\Z/, test_task.run_code)
   ensure
     Gem.loaded_specs["rake"] = rake
   end