Jean byroot Boussier | 87cbddd | 2024-02-13 13:00:00 -0800 | [diff] [blame] | 1 | #!/usr/bin/ruby |
| 2 | # |
| 3 | # generated_code.rb is in the same directory as this test. |
| 4 | $LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__))) |
| 5 | |
| 6 | require 'test/unit' |
| 7 | require 'objspace' |
| 8 | require 'test_import_pb' |
| 9 | |
| 10 | $is_64bit = Google::Protobuf::Internal::SIZEOF_LONG == 8 |
| 11 | |
| 12 | class MemoryTest < Test::Unit::TestCase |
| 13 | # 40 byte is the default object size. But the real size is dependent on many things |
| 14 | # such as arch etc, so there's no point trying to assert the exact return value here. |
| 15 | # We merely assert that we return something other than the default. |
| 16 | def test_objspace_memsize_of_arena |
| 17 | if $is_64bit |
| 18 | assert_operator 40, :<, ObjectSpace.memsize_of(Google::Protobuf::Internal::Arena.new) |
| 19 | end |
| 20 | end |
| 21 | |
| 22 | def test_objspace_memsize_of_message |
| 23 | if $is_64bit |
| 24 | assert_operator 40, :<, ObjectSpace.memsize_of(FooBar::TestImportedMessage.new) |
| 25 | end |
| 26 | end |
| 27 | |
| 28 | def test_objspace_memsize_of_map |
| 29 | if $is_64bit |
| 30 | assert_operator 40, :<, ObjectSpace.memsize_of(Google::Protobuf::Map.new(:string, :int32)) |
| 31 | end |
| 32 | end |
| 33 | end |