Add more Ruby shared_ptr runtime tests
This commit is contained in:
parent
004ae163e5
commit
a7cc3267bc
2 changed files with 77 additions and 0 deletions
32
Examples/test-suite/ruby/li_boost_shared_ptr_bits_runme.rb
Normal file
32
Examples/test-suite/ruby/li_boost_shared_ptr_bits_runme.rb
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
require 'li_boost_shared_ptr_bits'
|
||||
require 'swig_gc'
|
||||
|
||||
v = Li_boost_shared_ptr_bits::VectorIntHolder.new()
|
||||
v.push(Li_boost_shared_ptr_bits::IntHolder.new(11))
|
||||
v.push(Li_boost_shared_ptr_bits::IntHolder.new(22))
|
||||
v.push(Li_boost_shared_ptr_bits::IntHolder.new(33))
|
||||
|
||||
sum = Li_boost_shared_ptr_bits::sum(v)
|
||||
if (sum != 66)
|
||||
raise RuntimeError, "sum is wrong"
|
||||
end
|
||||
|
||||
hidden = Li_boost_shared_ptr_bits::HiddenDestructor.create()
|
||||
GC.track_class = Li_boost_shared_ptr_bits::HiddenPrivateDestructor
|
||||
GC.stats if $VERBOSE
|
||||
hidden = nil
|
||||
GC.start
|
||||
|
||||
hiddenPrivate = Li_boost_shared_ptr_bits::HiddenPrivateDestructor.create()
|
||||
if (Li_boost_shared_ptr_bits::HiddenPrivateDestructor.DeleteCount != 0)
|
||||
# GC doesn't always run
|
||||
# raise RuntimeError, "Count should be zero"
|
||||
end
|
||||
|
||||
GC.stats if $VERBOSE
|
||||
hiddenPrivate = nil
|
||||
GC.start
|
||||
if (Li_boost_shared_ptr_bits::HiddenPrivateDestructor.DeleteCount != 1)
|
||||
# GC doesn't always run
|
||||
# raise RuntimeError, "Count should be one"
|
||||
end
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
require 'li_boost_shared_ptr_template'
|
||||
|
||||
begin
|
||||
b = Li_boost_shared_ptr_template::BaseINTEGER.new()
|
||||
d = Li_boost_shared_ptr_template::DerivedINTEGER.new()
|
||||
if (b.bar() != 1)
|
||||
raise RuntimeError("test 1")
|
||||
end
|
||||
if (d.bar() != 2)
|
||||
raise RuntimeError("test 2")
|
||||
end
|
||||
if (Li_boost_shared_ptr_template.bar_getter(b) != 1)
|
||||
raise RuntimeError("test 3")
|
||||
end
|
||||
# Needs fixing as it does for Python
|
||||
# if (Li_boost_shared_ptr_template.bar_getter(d) != 2)
|
||||
# raise RuntimeError("test 4")
|
||||
# end
|
||||
end
|
||||
|
||||
begin
|
||||
b = Li_boost_shared_ptr_template::BaseDefaultInt.new()
|
||||
d = Li_boost_shared_ptr_template::DerivedDefaultInt.new()
|
||||
d2 = Li_boost_shared_ptr_template::DerivedDefaultInt2.new()
|
||||
if (b.bar2() != 3)
|
||||
raise RuntimeError("test 5")
|
||||
end
|
||||
if (d.bar2() != 4)
|
||||
raise RuntimeError("test 6")
|
||||
end
|
||||
if (d2.bar2() != 4)
|
||||
raise RuntimeError("test 6")
|
||||
end
|
||||
if (Li_boost_shared_ptr_template.bar2_getter(b) != 3)
|
||||
raise RuntimeError("test 7")
|
||||
end
|
||||
# Needs fixing as it does for Python
|
||||
# if (Li_boost_shared_ptr_template.bar2_getter(d) != 4)
|
||||
# raise RuntimeError("test 8")
|
||||
# end
|
||||
# if (Li_boost_shared_ptr_template.bar2_getter(d2) != 4)
|
||||
# raise RuntimeError("test 8")
|
||||
# end
|
||||
end
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue