summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authornagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-03-17 16:56:55 +0000
committernagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-03-17 16:56:55 +0000
commit8aca3e79eeafd71f524bbd2b5aef1ac8feab35b1 (patch)
treeac3118b639b59e495b90b3e3904cab3d80fde6e8 /test
parentc4b21f736ebb339fc46760f800851a7eed444c47 (diff)
merge revision(s) r49482,r49487: [Backport #10821]
* 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/branches/ruby_2_1@49993 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r--test/mkmf/base.rb13
-rw-r--r--test/mkmf/test_flags.rb21
2 files changed, 33 insertions, 1 deletions
diff --git a/test/mkmf/base.rb b/test/mkmf/base.rb
index ab1a0f04b7..92825eecf7 100644
--- a/test/mkmf/base.rb
+++ b/test/mkmf/base.rb
@@ -3,6 +3,7 @@ $extmk = true
require 'test/unit'
require 'mkmf'
require 'tmpdir'
+require_relative '../ruby/envutil'
$extout = '$(topdir)/'+RbConfig::CONFIG["EXTOUT"]
RbConfig::CONFIG['topdir'] = CONFIG['topdir'] = File.expand_path(CONFIG['topdir'])
@@ -49,7 +50,9 @@ class TestMkmf < Test::Unit::TestCase
@buffer << s if @out
end
end
+end
+module TestMkmf::Base
attr_reader :stdout
def mkmflog(msg)
@@ -84,7 +87,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 +130,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..e49d474dc9 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("nosuch.c"), TestMkmf::MKMFLOG)
+ assert(have_devel?, TestMkmf::MKMFLOG)
+ end;
+ end
+
+ def test_try_cflag_invalid_opt
+ assert_separately([], <<-'end;') #do
+ assert(!try_cflags("nosuch.c"), TestMkmf::MKMFLOG)
+ assert(have_devel?, TestMkmf::MKMFLOG)
+ end;
+ end
+
+ def test_try_cppflag_invalid_opt
+ assert_separately([], <<-'end;') #do
+ assert(!try_cppflags("nosuch.c"), TestMkmf::MKMFLOG)
+ assert(have_devel?, TestMkmf::MKMFLOG)
+ end;
+ end
end
end