aboutsummaryrefslogtreecommitdiffstats
path: root/spec/ruby/command_line
diff options
context:
space:
mode:
authork0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-05-24 14:32:05 +0000
committerk0kubun <k0kubun@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-05-24 14:32:05 +0000
commit506512c028b0967ee04239d17a92ccb42b3241b1 (patch)
tree3714e4c522a38ca9130c09ff95d9a0e8d24a490c /spec/ruby/command_line
parent34d5625500ec98725b108162685909bf03025a8d (diff)
downloadruby-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
Diffstat (limited to 'spec/ruby/command_line')
-rw-r--r--spec/ruby/command_line/dash_v_spec.rb9
-rw-r--r--spec/ruby/command_line/rubyopt_spec.rb12
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