1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

spec/ruby: fix RUBY_DESCRIPTION check with JIT enabled

`make test-spec` adds `-r./$(arch)-fake` to pass header options.
But the $(arch)-fake.rb unexpectedly modifies RUBY_DESCRIPTION and it
always drops +JIT from it since the fake.rb is built with BOOTSTRAPRUBY,
which can be miniruby. miniruby can't find MJIT header and thus
mjit_init_p is always FALSE.

So, to pass `make test-spec` with JIT enabled, we can't use
RUBY_DESCRIPTION.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
k0kubun 2018-05-24 14:32:05 +00:00
parent 34d5625500
commit 506512c028
2 changed files with 18 additions and 3 deletions

View file

@ -6,7 +6,14 @@ describe "The -v command line option" do
describe "when used alone" do
it "prints version and ends" do
ruby_exe(nil, args: '-v').include?(RUBY_DESCRIPTION).should == true
ruby_description =
if RubyVM::MJIT.enabled?
# fake.rb always drops +JIT from RUBY_DESCRIPTION. This resurrects that.
RUBY_DESCRIPTION.sub(/ \[[^\]]+\]$/, ' +JIT\0')
else
RUBY_DESCRIPTION
end
ruby_exe(nil, args: '-v').include?(ruby_description).should == true
end
end
end

View file

@ -22,14 +22,22 @@ describe "Processing RUBYOPT" do
result.should =~ /value of \$DEBUG is true/
end
ruby_description =
if RubyVM::MJIT.enabled?
# fake.rb always drops +JIT from RUBY_DESCRIPTION. This resurrects that.
RUBY_DESCRIPTION.sub(/ \[[^\]]+\]$/, ' +JIT\0')
else
RUBY_DESCRIPTION
end
it "prints the version number for '-v'" do
ENV["RUBYOPT"] = '-v'
ruby_exe("")[/\A.*/].should == RUBY_DESCRIPTION
ruby_exe("")[/\A.*/].should == ruby_description
end
it "ignores whitespace around the option" do
ENV["RUBYOPT"] = ' -v '
ruby_exe("")[/\A.*/].should == RUBY_DESCRIPTION
ruby_exe("")[/\A.*/].should == ruby_description
end
it "sets $VERBOSE to true for '-w'" do