summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-10-31 13:05:11 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-10-31 13:05:11 +0000
commitf557b57e67ff2cfb56de402c47341266f3e4e89d (patch)
tree2b522be0a4c3260480ec0d44952114bde973bdf9 /test
parentcf4c2318951820bb3bf19fd708d139a819e56a85 (diff)
merges r24828 from trunk into ruby_1_9_1.
-- * test/dl/test_cptr.rb (test_free=): test SEGV at first. [ruby-dev:39269] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@25594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r--test/dl/test_cptr.rb15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/dl/test_cptr.rb b/test/dl/test_cptr.rb
index 2d6a08e1c5..c0d080906a 100644
--- a/test/dl/test_cptr.rb
+++ b/test/dl/test_cptr.rb
@@ -1,4 +1,5 @@
require_relative 'test_base'
+require_relative '../ruby/envutil'
module DL
class TestCPtr < TestBase
@@ -8,6 +9,20 @@ module DL
end
def test_free=
+ assert_normal_exit(<<-"End", '[ruby-dev:39269]')
+ require 'dl
+ DL::LIBC_SO = #{LIBC_SO.dump}
+ DL::LIBM_SO = #{LIBM_SO.dump}
+ include DL
+ @libc = dlopen(LIBC_SO)
+ @libm = dlopen(LIBM_SO)
+ free = CFunc.new(@libc['free'], TYPE_VOID, 'free')
+ ptr = CPtr.malloc(4)
+ ptr.free = free
+ free.ptr
+ ptr.free.ptr
+ End
+
free = CFunc.new(@libc['free'], TYPE_VOID, 'free')
ptr = CPtr.malloc(4)
ptr.free = free