1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

merges r21110, r21111 and r21140 from trunk into ruby_1_9_1.

* ext/dl/test/test_dl2.rb: modify strncpy, strcpy, qsort, types.
	  Bug #633 [ruby-core:19289]
	* ext/dl/test/test_base.rb: /lib/libc.so is x86_64 binary in x86_64 architecture.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@21151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
yugui 2008-12-29 07:18:15 +00:00
parent f9deedb3cc
commit b78fe145f3
3 changed files with 10 additions and 6 deletions

View file

@ -1,3 +1,10 @@
Sun Dec 28 17:10:13 2008 TAKANO Mitsuhiro (takano32) <tak@no32.tk>
* ext/dl/test/test_dl2.rb: modify strncpy, strcpy, qsort, types.
Patch by Takehiro Kubo.
Bug #633 [ruby-core:19289]
* ext/dl/test/test_base.rb: /lib/libc.so is x86_64 binary in x86_64 architecture.
Sun Dec 28 18:36:33 2008 Yuki Sonoda (Yugui) <yugui@yugui.jp>
* test/rubygems/test_gem_command.rb

View file

@ -5,9 +5,6 @@ case RUBY_PLATFORM
when /cygwin/
LIBC_SO = "cygwin1.dll"
LIBM_SO = "cygwin1.dll"
when /x86_64-linux/
LIBC_SO = "/lib64/libc.so.6"
LIBM_SO = "/lib64/libm.so.6"
when /linux/
LIBC_SO = "/lib/libc.so.6"
LIBM_SO = "/lib/libm.so.6"

View file

@ -59,14 +59,14 @@ class TestDL < TestBase
buff = "xxxx"
str = "abc"
cfunc = CFunc.new(@libc['strncpy'], TYPE_VOIDP, 'strncpy')
x = cfunc.call([buff,str,3].pack("ppi").unpack("l!*"))
x = cfunc.call([buff,str,3].pack("ppL!").unpack("l!*"))
assert_equal("abcx", buff)
assert_equal("abcx", CPtr.new(x).to_s(4))
ptr = CPtr.malloc(4)
str = "abc"
cfunc = CFunc.new(@libc['strcpy'], TYPE_VOIDP, 'strcpy')
x = cfunc.call([ptr.to_i,str].pack("lp").unpack("l!*"))
x = cfunc.call([ptr.to_i,str].pack("l!p").unpack("l!*"))
assert_equal("abc\0", ptr[0,4])
assert_equal("abc\0", CPtr.new(x).to_s(4))
end
@ -75,7 +75,7 @@ class TestDL < TestBase
buff = "foobarbaz"
cb = set_callback(TYPE_INT,2){|x,y| CPtr.new(x)[0] <=> CPtr.new(y)[0]}
cfunc = CFunc.new(@libc['qsort'], TYPE_VOID, 'qsort')
cfunc.call([buff, buff.size, 1, cb].pack("pI!I!L!").unpack("l!*"))
cfunc.call([buff, buff.size, 1, cb].pack("pL!L!L!").unpack("l!*"))
assert_equal('aabbfoorz', buff)
end