aboutsummaryrefslogtreecommitdiffstats
path: root/test/mkmf/base.rb
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-01-15 02:57:36 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-01-15 02:57:36 +0000
commitb794a2bd8c40526c000abde831e372744c3fa3e0 (patch)
treedd27ab02b75a3dd312beaa08b20a974ffc05d6b5 /test/mkmf/base.rb
parentca6a75cd38c97774b2c58a3d305dd5e1c9055772 (diff)
downloadruby-b794a2bd8c40526c000abde831e372744c3fa3e0.tar.gz
* configure.in (warnflags): add -Werror=implicit-function-declaration
if available. * lib/mkmf.rb (init_mkmf): ignore warnings in mkmf tests. * test/mkmf/base.rb (setup, teardown): restore config values. * test/mkmf/test_flags.rb: split from test_find_executable.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/mkmf/base.rb')
-rw-r--r--test/mkmf/base.rb38
1 files changed, 38 insertions, 0 deletions
diff --git a/test/mkmf/base.rb b/test/mkmf/base.rb
index d4cf80376f..a9d3aec338 100644
--- a/test/mkmf/base.rb
+++ b/test/mkmf/base.rb
@@ -58,15 +58,53 @@ class TestMkmf < Test::Unit::TestCase
end
def setup
+ @rbconfig = rbconfig0 = RbConfig::CONFIG
+ @mkconfig = mkconfig0 = RbConfig::MAKEFILE_CONFIG
+ rbconfig = {
+ "hdrdir" => $hdrdir,
+ "srcdir" => $srcdir,
+ "topdir" => $topdir,
+ }
+ mkconfig = {
+ "hdrdir" => "$(top_srcdir)/include",
+ "srcdir" => "$(top_srcdir)/ext/#{$mdir}",
+ "topdir" => $topdir,
+ }
+ rbconfig0.each_pair {|key, val| rbconfig[key] ||= val.dup}
+ mkconfig0.each_pair {|key, val| mkconfig[key] ||= val.dup}
+ RbConfig.module_eval {
+ remove_const(:CONFIG)
+ const_set(:CONFIG, rbconfig)
+ remove_const(:MAKEFILE_CONFIG)
+ const_set(:MAKEFILE_CONFIG, mkconfig)
+ }
+ Object.class_eval {
+ remove_const(:CONFIG)
+ const_set(:CONFIG, mkconfig)
+ }
@tmpdir = Dir.mktmpdir
@curdir = Dir.pwd
@mkmfobj = Object.new
@stdout = Capture.new
Dir.chdir(@tmpdir)
@quiet, Logging.quiet = Logging.quiet, true
+ init_mkmf
+ $INCFLAGS[0, 0] = "-I. "
end
def teardown
+ rbconfig0 = @rbconfig
+ mkconfig0 = @mkconfig
+ RbConfig.module_eval {
+ remove_const(:CONFIG)
+ const_set(:CONFIG, rbconfig0)
+ remove_const(:MAKEFILE_CONFIG)
+ const_set(:MAKEFILE_CONFIG, mkconfig0)
+ }
+ Object.class_eval {
+ remove_const(:CONFIG)
+ const_set(:CONFIG, mkconfig0)
+ }
Logging.quiet = @quiet
Logging.log_close
Dir.chdir(@curdir)