diff options
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 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 |