mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
38 lines
1.1 KiB
Ruby
38 lines
1.1 KiB
Ruby
use_realpath = File.respond_to?(:realpath)
|
|
root = File.dirname(__FILE__)
|
|
dir = "fixtures/code"
|
|
CODE_LOADING_DIR = use_realpath ? File.realpath(dir, root) : File.expand_path(dir, root)
|
|
|
|
# Enable Thread.report_on_exception by default to catch thread errors earlier
|
|
if Thread.respond_to? :report_on_exception=
|
|
Thread.report_on_exception = true
|
|
else
|
|
class Thread
|
|
def report_on_exception=(value)
|
|
raise "shim Thread#report_on_exception used with true" if value
|
|
end
|
|
end
|
|
end
|
|
|
|
unless ENV['MSPEC_RUNNER'] # Running directly with ruby some_spec.rb
|
|
mspec_lib = File.expand_path("../../mspec/lib", __FILE__)
|
|
$LOAD_PATH << mspec_lib if File.directory?(mspec_lib)
|
|
|
|
begin
|
|
require 'mspec'
|
|
require 'mspec/commands/mspec-run'
|
|
rescue LoadError
|
|
puts "Please add -Ipath/to/mspec/lib or clone mspec as a sibling to run the specs."
|
|
exit 1
|
|
end
|
|
end
|
|
|
|
# Compare with SpecVersion directly here so it works even with --unguarded
|
|
if VersionGuard::FULL_RUBY_VERSION < SpecVersion.new('2.7')
|
|
abort "This version of ruby/spec requires Ruby 2.7+"
|
|
end
|
|
|
|
unless ENV['MSPEC_RUNNER'] # Running directly with ruby some_spec.rb
|
|
ARGV.unshift $0
|
|
MSpecRun.main
|
|
end
|