From 5f4a27217ea81ac3dd65f39cc3560dc019fe83a6 Mon Sep 17 00:00:00 2001 From: Rory OConnell <19547+RoryO@users.noreply.github.com> Date: Sun, 19 Jul 2020 15:36:08 -0700 Subject: Separate `memsize_of` and `memsize_of_all` to a separate gem; #5040 Those methods are originally CRuby specific. Co-authored-by: Yukihiro "Matz" Matsumoto --- mrbgems/mruby-objectspace/mrbgem.rake | 4 -- mrbgems/mruby-objectspace/test/objectspace.rb | 78 --------------------------- 2 files changed, 82 deletions(-) (limited to 'mrbgems/mruby-objectspace') diff --git a/mrbgems/mruby-objectspace/mrbgem.rake b/mrbgems/mruby-objectspace/mrbgem.rake index 101e24275..fa35136a1 100644 --- a/mrbgems/mruby-objectspace/mrbgem.rake +++ b/mrbgems/mruby-objectspace/mrbgem.rake @@ -2,8 +2,4 @@ MRuby::Gem::Specification.new('mruby-objectspace') do |spec| spec.license = 'MIT' spec.author = 'mruby developers' spec.summary = 'ObjectSpace class' - - spec.add_test_dependency('mruby-metaprog') - spec.add_test_dependency('mruby-method') - spec.add_test_dependency('mruby-fiber') end diff --git a/mrbgems/mruby-objectspace/test/objectspace.rb b/mrbgems/mruby-objectspace/test/objectspace.rb index aa7c7dbbf..9c44c2157 100644 --- a/mrbgems/mruby-objectspace/test/objectspace.rb +++ b/mrbgems/mruby-objectspace/test/objectspace.rb @@ -58,81 +58,3 @@ end assert 'Check class pointer of ObjectSpace.each_object.' do assert_nothing_raised { ObjectSpace.each_object { |obj| !obj } } end - -assert 'ObjectSpace.memsize_of' do - # immediate literals - int_size = ObjectSpace.memsize_of 1 - assert_equal int_size, 0, 'int zero' - - sym_size = ObjectSpace.memsize_of :foo - assert_equal sym_size, 0, 'sym zero' - - assert_equal ObjectSpace.memsize_of(true), int_size - assert_equal ObjectSpace.memsize_of(false), int_size - - assert_not_equal ObjectSpace.memsize_of('a'), 0, 'memsize of str' - - if __ENCODING__ == "UTF-8" - assert_not_equal ObjectSpace.memsize_of("こんにちは世界"), 0, 'memsize of utf8 str' - end - - # class defs - class_obj_size = ObjectSpace.memsize_of Class - assert_not_equal class_obj_size, 0, 'Class obj not zero' - - empty_class_def_size = ObjectSpace.memsize_of Class.new - assert_not_equal empty_class_def_size, 0, 'Class def not zero' - - class_without_methods = Class.new do - @a = 1 - @b = 2 - end - class_total_size = empty_class_def_size + (int_size * 2) - assert_equal ObjectSpace.memsize_of(class_without_methods), class_total_size, 'class without methods size' - - module_without_methods = Module.new do - @a = 1 - @b = 2 - end - module_total_size = empty_class_def_size + (int_size * 2) - assert_equal ObjectSpace.memsize_of(module_without_methods), module_total_size, 'module without methods size' - - proc_size = ObjectSpace.memsize_of Proc.new { x = 1; x } - assert_not_equal proc_size, 0 - - class_with_methods = Class.new do - def foo - a = 0 - a + 1 - end - end - - m_size = ObjectSpace.memsize_of class_with_methods.instance_method(:foo) - assert_not_equal m_size, 0, 'method size not zero' - - # collections - empty_array_size = ObjectSpace.memsize_of [] - assert_not_equal empty_array_size, 0, 'empty array size not zero' - assert_operator empty_array_size, :<, ObjectSpace.memsize_of(Array.new(16)), 'large array size greater than embed' - - # fiber - empty_fiber_size = ObjectSpace.memsize_of(Fiber.new {}) - assert_not_equal empty_fiber_size, 0, 'empty fiber not zero' - - #hash - assert_not_equal ObjectSpace.memsize_of({}), 0, 'empty hash size not zero' -end - -assert 'ObjectSpace.memsize_of_all' do - foo_class = Class.new do - def initialize - @a = 'a' - @b = 'b' - end - end - - foos = Array.new(10) { foo_class.new } - foo_size = ObjectSpace.memsize_of(foos.first) - - assert_equal ObjectSpace.memsize_of_all(foo_class), foo_size * foos.size, 'Memsize of all instance' -end -- cgit v1.2.3