diff options
author | k0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-05-24 14:32:05 +0000 |
---|---|---|
committer | k0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-05-24 14:32:05 +0000 |
commit | 506512c028b0967ee04239d17a92ccb42b3241b1 (patch) | |
tree | 3714e4c522a38ca9130c09ff95d9a0e8d24a490c | |
parent | 34d5625500ec98725b108162685909bf03025a8d (diff) | |
download | ruby-506512c028b0967ee04239d17a92ccb42b3241b1.tar.gz |
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
-rw-r--r-- | spec/ruby/command_line/dash_v_spec.rb | 9 | ||||
-rw-r--r-- | spec/ruby/command_line/rubyopt_spec.rb | 12 |
2 files changed, 18 insertions, 3 deletions
diff --git a/spec/ruby/command_line/dash_v_spec.rb b/spec/ruby/command_line/dash_v_spec.rb index 995a46a87f..801ea42846 100644 --- a/spec/ruby/command_line/dash_v_spec.rb +++ b/spec/ruby/command_line/dash_v_spec.rb @@ -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 diff --git a/spec/ruby/command_line/rubyopt_spec.rb b/spec/ruby/command_line/rubyopt_spec.rb index 81a57f97c3..cfb86dfc58 100644 --- a/spec/ruby/command_line/rubyopt_spec.rb +++ b/spec/ruby/command_line/rubyopt_spec.rb @@ -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 |