diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/mkmf/base.rb | 28 | ||||
-rw-r--r-- | test/mkmf/test_sizeof.rb | 25 |
2 files changed, 34 insertions, 19 deletions
diff --git a/test/mkmf/base.rb b/test/mkmf/base.rb new file mode 100644 index 0000000000..b4cf4884fa --- /dev/null +++ b/test/mkmf/base.rb @@ -0,0 +1,28 @@ +require 'test/unit' +require 'mkmf' +require 'tmpdir' + +$extout = '$(topdir)/'+RbConfig::CONFIG["EXTOUT"] +RbConfig::CONFIG['topdir'] = CONFIG['topdir'] = File.expand_path(CONFIG['topdir']) +RbConfig::CONFIG["extout"] = CONFIG["extout"] = $extout +RbConfig::CONFIG["cppflags"] << " -I." +CONFIG["cppflags"] << " -I." +$extout_prefix = "$(extout)$(target_prefix)/" + +module TestMkmf + def setup + @tmpdir = Dir.mktmpdir + @curdir = Dir.pwd + @mkmfobj = Object.new + Dir.chdir(@tmpdir) + end + + def teardown + Dir.chdir(@curdir) + FileUtils.rm_rf(@tmpdir) + end + + def mkmf(*args, &block) + @mkmfobj.instance_eval(*args, &block) + end +end diff --git a/test/mkmf/test_sizeof.rb b/test/mkmf/test_sizeof.rb index 2e277d302b..29a5253418 100644 --- a/test/mkmf/test_sizeof.rb +++ b/test/mkmf/test_sizeof.rb @@ -1,27 +1,14 @@ -require 'test/unit' -require 'mkmf' -require 'tmpdir' +require_relative 'base' -$extout = '$(topdir)/'+RbConfig::CONFIG["EXTOUT"] -RbConfig::CONFIG['topdir'] = CONFIG['topdir'] = File.expand_path(CONFIG['topdir']) -RbConfig::CONFIG["extout"] = CONFIG["extout"] = $extout -$extout_prefix = "$(extout)$(target_prefix)/" +module TestMkmf + class TestSizeof < Test::Unit::TestCase + include TestMkmf -class TestMkmf < Test::Unit::TestCase - def setup - @tmpdir = Dir.mktmpdir - @mkmfobj = Object.new - end - def mkmf(*args, &block) - @mkmfobj.instance_eval(*args, &block) - end - - def test_sizeof - Dir.chdir(@tmpdir) do + def test_sizeof open("confdefs.h", "w") {|f| f.puts "typedef struct {char x;} test1_t;" } - mkmf {check_sizeof("test1_t", "confdefs.h")} rescue puts File.read("mkmf.log") + assert_equal(1, mkmf {size = check_sizeof("test1_t", "confdefs.h")}) end end end |