summaryrefslogtreecommitdiff
path: root/test/dl/test_cptr.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/dl/test_cptr.rb')
-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