diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-09-10 12:22:59 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-09-10 12:22:59 +0000 |
commit | 3707fd4941f4eed6c442180a0ae19d92e6d39b08 (patch) | |
tree | b40a6053b299d027b2f177907566a98f321d6f50 /test/dl/test_cptr.rb | |
parent | 5ced9a4395b2eca37662df20f5a35abbede58898 (diff) | |
download | ruby-3707fd4941f4eed6c442180a0ae19d92e6d39b08.tar.gz |
* test/dl/test_cptr.rb (test_free=): test SEGV at first.
[ruby-dev:39269]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/dl/test_cptr.rb')
-rw-r--r-- | test/dl/test_cptr.rb | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/test/dl/test_cptr.rb b/test/dl/test_cptr.rb index 3ff811f6e3..07ad05ba25 100644 --- a/test/dl/test_cptr.rb +++ b/test/dl/test_cptr.rb @@ -1,4 +1,5 @@ require '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 = #{DL::LIBC_SO.dump} + DL::LIBM_SO = #{DL::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 |