summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-09-10 12:22:59 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-09-10 12:22:59 +0000
commit3707fd4941f4eed6c442180a0ae19d92e6d39b08 (patch)
treeb40a6053b299d027b2f177907566a98f321d6f50
parent5ced9a4395b2eca37662df20f5a35abbede58898 (diff)
* 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
-rw-r--r--ChangeLog5
-rw-r--r--test/dl/test_cptr.rb15
2 files changed, 20 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 3392ea7e97..c8abd65f81 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Sep 10 21:22:01 2009 Tanaka Akira <akr@fsij.org>
+
+ * test/dl/test_cptr.rb (test_free=): test SEGV at first.
+ [ruby-dev:39269]
+
Thu Sep 10 21:20:59 2009 Tanaka Akira <akr@fsij.org>
* test/ruby/envutil.rb (assert_normal_exit): Don't use
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