diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-02-03 08:15:47 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-02-03 08:15:47 +0000 |
commit | af5b7053f17b61681b7c492800cc8bf347de1cdd (patch) | |
tree | 40bbedd3bfb68d3ec12820ddeac7b793a95fb905 /test | |
parent | 26127361dd2100afe73bc5b2304735f82716ce3c (diff) | |
download | ruby-af5b7053f17b61681b7c492800cc8bf347de1cdd.tar.gz |
mkmf.rb: avoid interference
* lib/mkmf.rb (try_cppflags, try_cflags, try_ldflags): get rid of
interference by modifying global variables in have_devel? method.
[ruby-core:67962] [Bug #10821]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r-- | test/mkmf/base.rb | 12 | ||||
-rw-r--r-- | test/mkmf/test_flags.rb | 21 |
2 files changed, 32 insertions, 1 deletions
diff --git a/test/mkmf/base.rb b/test/mkmf/base.rb index ab1a0f04b7..ea6a9d80f4 100644 --- a/test/mkmf/base.rb +++ b/test/mkmf/base.rb @@ -49,7 +49,9 @@ class TestMkmf < Test::Unit::TestCase @buffer << s if @out end end +end +module TestMkmf::Base attr_reader :stdout def mkmflog(msg) @@ -84,7 +86,7 @@ class TestMkmf < Test::Unit::TestCase @tmpdir = Dir.mktmpdir @curdir = Dir.pwd @mkmfobj = Object.new - @stdout = Capture.new + @stdout = TestMkmf::Capture.new Dir.chdir(@tmpdir) @quiet, Logging.quiet = Logging.quiet, true init_mkmf @@ -127,3 +129,11 @@ class TestMkmf < Test::Unit::TestCase nil end end + +class TestMkmf + include TestMkmf::Base + + def assert_separately(args, src, *rest) + super(args + ["-r#{__FILE__}"], "extend TestMkmf::Base; setup\n#{src}", *rest) + end +end diff --git a/test/mkmf/test_flags.rb b/test/mkmf/test_flags.rb index 3bb278071a..4e0d5f66a2 100644 --- a/test/mkmf/test_flags.rb +++ b/test/mkmf/test_flags.rb @@ -31,5 +31,26 @@ class TestMkmf $warnflags = warnflags $extmk = val end + + def test_try_ldflag_invalid_opt + assert_separately([], <<-'end;') #do + assert(!try_ldflags("----------")) + assert(have_devel?, TestMkmf::MKMFLOG) + end; + end + + def test_try_cflag_invalid_opt + assert_separately([], <<-'end;') #do + assert(!try_cflags("----------")) + assert(have_devel?, TestMkmf::MKMFLOG) + end; + end + + def test_try_cppflag_invalid_opt + assert_separately([], <<-'end;') #do + assert(!try_cppflags("----------")) + assert(have_devel?, TestMkmf::MKMFLOG) + end; + end end end |