diff --git a/activerecord/bin/test b/activerecord/bin/test index 9ecf27ce67..0c911085d7 100755 --- a/activerecord/bin/test +++ b/activerecord/bin/test @@ -8,7 +8,7 @@ if adapter_index end COMPONENT_ROOT = File.expand_path("..", __dir__) -require_relative "../../tools/test" +require_relative "../test/support/tools" module Minitest def self.plugin_active_record_options(opts, options) diff --git a/activerecord/test/support/tools.rb b/activerecord/test/support/tools.rb new file mode 100644 index 0000000000..1004ae4a52 --- /dev/null +++ b/activerecord/test/support/tools.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +$: << File.expand_path("test", COMPONENT_ROOT) + +require "bundler/setup" + +require "rails/test_unit/runner" +require "rails/test_unit/reporter" +require "rails/test_unit/line_filtering" +require "active_support" +require "active_support/test_case" + +require "rake/testtask" +Rails::TestUnit::Runner.singleton_class.prepend Module.new { + private + def list_tests(argv) + tests = super + tests.concat FileList["test/cases/adapters/#{adapter_short}/**/*_test.rb"] + end + + def default_test_exclude_glob + ENV["DEFAULT_TEST_EXCLUDE"] || "test/cases/adapters/*/*_test.rb" + end + + def adapter_short + ENV["ARCONN"] || "sqlite3" + end + } + +ActiveSupport::TestCase.extend Rails::LineFiltering +Rails::TestUnitReporter.app_root = COMPONENT_ROOT +Rails::TestUnitReporter.executable = "bin/test" + +Rails::TestUnit::Runner.parse_options(ARGV) +Rails::TestUnit::Runner.run(ARGV)