27 lines
578 B
Ruby
27 lines
578 B
Ruby
#!/usr/bin/env ruby
|
|
|
|
require 'swig_assert'
|
|
|
|
require 'li_std_auto_ptr'
|
|
|
|
def gc_check(expected_count)
|
|
# GC.start(full_mark: true, immediate_sweep: true)
|
|
GC.start
|
|
# GC is not reliably run, skip check
|
|
# swig_assert_equal_simple(expected_count, Li_std_auto_ptr::Klass::getTotal_count())
|
|
end
|
|
|
|
k1 = Li_std_auto_ptr::makeKlassAutoPtr("first")
|
|
k2 = Li_std_auto_ptr::makeKlassAutoPtr("second")
|
|
swig_assert_equal_simple(2, Li_std_auto_ptr::Klass::getTotal_count())
|
|
|
|
gc_check(2)
|
|
k1 = nil
|
|
gc_check(1)
|
|
|
|
swig_assert_equal_simple(k2.getLabel(), "second")
|
|
gc_check(1)
|
|
|
|
k2 = nil
|
|
gc_check(0)
|
|
|