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  | 
