summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author卜部昌平 <shyouhei@ruby-lang.org>2020-08-21 22:25:44 +0900
committer卜部昌平 <shyouhei@ruby-lang.org>2020-08-22 00:33:37 +0900
commitcc2caa6edf8d61ee85e9f173a047644a1d4a3de7 (patch)
treecf70dc2bbc8140ae046f4827597dcd20e4f4659d
parent44d25c65287558e899188eb9e0fbd7d76e6f74ce (diff)
do not test --version
`llvm-strip-7` is a sane valid strip command that LLVM 7 ships, albeit it does not understand `--version`. It is a bad idea to check that option. Instead just see if the command actually strips something. A copy of `/bin/sh` should suffice. That file must be ubiquitous.
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/3439
-rw-r--r--spec/ruby/library/rbconfig/rbconfig_spec.rb12
1 files changed, 9 insertions, 3 deletions
diff --git a/spec/ruby/library/rbconfig/rbconfig_spec.rb b/spec/ruby/library/rbconfig/rbconfig_spec.rb
index c204d5326fd..015c2972b20 100644
--- a/spec/ruby/library/rbconfig/rbconfig_spec.rb
+++ b/spec/ruby/library/rbconfig/rbconfig_spec.rb
@@ -59,11 +59,17 @@ describe 'RbConfig::CONFIG' do
out.should_not be_empty
end
+ require 'tempfile'
it "['STRIP'] exists and can be executed" do
strip = RbConfig::CONFIG.fetch('STRIP')
- out = `#{strip} --version`
- $?.should.success?
- out.should_not be_empty
+ Tempfile.open('sh') do |dst|
+ File.open('/bin/sh', 'rb') do |src|
+ IO.copy_stream(src, dst)
+ dst.flush
+ out =`#{strip} #{dst.to_path}`
+ $?.should.success?
+ end
+ end
end
end
end