diff options
Diffstat (limited to 'jni/ruby/test/mkmf/test_signedness.rb')
-rw-r--r-- | jni/ruby/test/mkmf/test_signedness.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/jni/ruby/test/mkmf/test_signedness.rb b/jni/ruby/test/mkmf/test_signedness.rb new file mode 100644 index 0000000..8d58073 --- /dev/null +++ b/jni/ruby/test/mkmf/test_signedness.rb @@ -0,0 +1,29 @@ +require_relative 'base' + +class TestMkmf + class TestSignedness < TestMkmf + def test_typeof_builtin + bug4144 = '[ruby-dev:42731]' + [["", "-1"], ["signed ", "-1"], ["unsigned ", "+1"]].each do |signed, expect| + %w[short int long].each do |type| + assert_equal(expect.to_i, mkmf {check_signedness(signed+type)}, mkmflog(bug4144)) + end + end + end + + def test_typeof_typedef + [["", "-1"], ["signed ", "-1"], ["unsigned ", "+1"]].each do |signed, expect| + %w[short int long].each do |type| + open("confdefs.h", "w") {|f| + f.puts "typedef #{signed}#{type} test1_t;" + } + $defs.clear + assert_equal(expect.to_i, mkmf {check_signedness("test1_t", "confdefs.h")}, MKMFLOG) + assert_include($defs, "-DSIGNEDNESS_OF_TEST1_T=#{expect}") + end + end + ensure + File.unlink("confdefs.h") + end + end +end |