DEV: Automatically set LOAD_PLUGINS for bin/rspec (#30437)

When passing a `plugins/...` path to bin/rspec, it's reasonable to assume that the developer wants the tests to be run with plugins loaded. This commit automatically takes care of that.

If `LOAD_PLUGINS` is explicitly specified, then that value will always be used.

This mimics the logic we already have for database migrations in the `bin/rake` stub
This commit is contained in:
David Taylor 2024-12-23 11:56:10 +00:00 committed by GitHub
parent c601b4112e
commit 1f46aed27e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -15,4 +15,9 @@ ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
require 'rubygems' require 'rubygems'
require 'bundler/setup' require 'bundler/setup'
if ENV["LOAD_PLUGINS"].nil? && ARGV.any? { |pattern| pattern.include?("plugins/") }
STDERR.puts "Detected plugin spec path, setting LOAD_PLUGINS to 1"
ENV["LOAD_PLUGINS"] = "1"
end
load Gem.bin_path('rspec-core', 'rspec') load Gem.bin_path('rspec-core', 'rspec')