1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
This commit is contained in:
Benoit Daloze 2022-09-28 18:37:16 +02:00
parent 3e7c42a239
commit 5a1ab740fc
5 changed files with 11 additions and 27 deletions

View file

@ -95,7 +95,9 @@ class MkSpec
def write_spec(file, meth, exists)
if exists
out = `#{ruby} #{MSPEC_HOME}/bin/mspec-run --dry-run --unguarded -fs -e '#{meth}' #{file}`
command = "#{RbConfig.ruby} #{MSPEC_HOME}/bin/mspec-run --dry-run --unguarded -fs -e '#{meth}' #{file}"
puts "$ #{command}" if $DEBUG
out = `#{command}`
return if out.include?(meth)
end
@ -133,18 +135,6 @@ EOS
end
end
##
# Determine and return the path of the ruby executable.
def ruby
ruby = File.join(RbConfig::CONFIG['bindir'],
RbConfig::CONFIG['ruby_install_name'])
ruby.gsub! File::SEPARATOR, File::ALT_SEPARATOR if File::ALT_SEPARATOR
return ruby
end
def self.main
ENV['MSPEC_RUNNER'] = '1'

View file

@ -51,6 +51,10 @@ class NameMap
SpecVersion
]
ALWAYS_PRIVATE = %w[
initialize initialize_copy initialize_clone initialize_dup respond_to_missing?
].map(&:to_sym)
def initialize(filter = false)
@seen = {}
@filter = filter
@ -86,7 +90,8 @@ class NameMap
hash["#{name}."] = ms.sort unless ms.empty?
ms = m.public_instance_methods(false) +
m.protected_instance_methods(false)
m.protected_instance_methods(false) +
(m.private_instance_methods(false) & ALWAYS_PRIVATE)
ms.map! { |x| x.to_s }
hash["#{name}#"] = ms.sort unless ms.empty?

View file

@ -84,12 +84,7 @@ class MSpecScript
names.each do |name|
config[:path].each do |dir|
begin
file = File.expand_path name, dir
rescue ArgumentError
# File.expand_path can issue error e.g. if HOME is not available
next
end
file = File.expand_path name, dir
if @loaded.include?(file)
return true
elsif File.exist? file
@ -288,7 +283,6 @@ class MSpecScript
script = new
script.load_default
script.try_load '~/.mspecrc'
script.options
script.signals
script.register

View file

@ -194,7 +194,7 @@ RSpec.describe MkSpec, "#write_spec" do
end
it "checks if specs exist for the method if the spec file exists" do
name = Regexp.escape(@script.ruby)
name = Regexp.escape(RbConfig.ruby)
expect(@script).to receive(:`).with(
%r"#{name} #{MSPEC_HOME}/bin/mspec-run --dry-run --unguarded -fs -e 'Object#inspect' spec/core/tcejbo/inspect_spec.rb")
@script.write_spec("spec/core/tcejbo/inspect_spec.rb", "Object#inspect", true)

View file

@ -96,11 +96,6 @@ RSpec.describe MSpecScript, ".main" do
MSpecScript.main
end
it "attempts to load the '~/.mspecrc' script" do
expect(@script).to receive(:try_load).with('~/.mspecrc')
MSpecScript.main
end
it "calls the #options method on the script" do
expect(@script).to receive(:options)
MSpecScript.main