From a7cc3267bc35236feb6437c2b38e519ae0a4105e Mon Sep 17 00:00:00 2001 From: William S Fulton Date: Sat, 26 Sep 2015 00:07:26 +0100 Subject: [PATCH] Add more Ruby shared_ptr runtime tests --- .../ruby/li_boost_shared_ptr_bits_runme.rb | 32 +++++++++++++ .../li_boost_shared_ptr_template_runme.rb | 45 +++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 Examples/test-suite/ruby/li_boost_shared_ptr_bits_runme.rb create mode 100644 Examples/test-suite/ruby/li_boost_shared_ptr_template_runme.rb diff --git a/Examples/test-suite/ruby/li_boost_shared_ptr_bits_runme.rb b/Examples/test-suite/ruby/li_boost_shared_ptr_bits_runme.rb new file mode 100644 index 000000000..bcd817e5a --- /dev/null +++ b/Examples/test-suite/ruby/li_boost_shared_ptr_bits_runme.rb @@ -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 diff --git a/Examples/test-suite/ruby/li_boost_shared_ptr_template_runme.rb b/Examples/test-suite/ruby/li_boost_shared_ptr_template_runme.rb new file mode 100644 index 000000000..7d446a474 --- /dev/null +++ b/Examples/test-suite/ruby/li_boost_shared_ptr_template_runme.rb @@ -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 +