rails/activerecord/bin/test
yuuji.yaginuma 5d1999547d Make test runner work with AR test tool
Since #29572, test runner will be loaded as minitest's plugin.
Therefore, if specify a value in `Minitest.extensions` before the Minitest
initialization process, the extension will not load and the test runner will
not work.
44eee51ed9/lib/minitest.rb (L86)

Also, load processing of adapter is done before minitest option processing,
so set the adapter in the file so that the `-a` option works.
2018-02-04 20:19:46 +09:00

28 lines
720 B
Ruby
Executable File

#!/usr/bin/env ruby
# frozen_string_literal: true
adapter_index = ARGV.index("--adapter") || ARGV.index("-a")
if adapter_index
ARGV.delete_at(adapter_index)
ENV["ARCONN"] = ARGV.delete_at(adapter_index).strip
end
COMPONENT_ROOT = File.expand_path("..", __dir__)
require_relative "../../tools/test"
module Minitest
def self.plugin_active_record_options(opts, options)
opts.separator ""
opts.separator "Active Record options:"
opts.on("-a", "--adapter [ADAPTER]",
"Run tests using a specific adapter (sqlite3, sqlite3_mem, mysql2, postgresql)") do |adapter|
ENV["ARCONN"] = adapter.strip
end
opts
end
end
Minitest.load_plugins
Minitest.extensions.unshift "active_record"