summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-02-16 10:03:02 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-02-16 10:03:02 +0000
commitda2497745e207c20b632ec14731397fb48a52fd2 (patch)
tree97696eb7663f1654e3fb7c38dbf20d104b0c0e70
parent53dddcf88e6f522d120e9b7df8c249f945eec556 (diff)
* test/dl/test_{base,handle}.rb: use more verbose assertions.
* test/dl/test_import.rb (DL::LIBC::BoundQsortCallback): renamed to get rid of overwriting warning. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog7
-rw-r--r--ext/dl/cfunc.c16
-rw-r--r--ext/dl/cptr.c2
-rw-r--r--test/dl/test_base.rb6
-rw-r--r--test/dl/test_handle.rb20
-rw-r--r--test/dl/test_import.rb2
6 files changed, 30 insertions, 23 deletions
diff --git a/ChangeLog b/ChangeLog
index 80f2677cd9..96e7535c01 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Tue Feb 16 19:02:59 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * test/dl/test_{base,handle}.rb: use more verbose assertions.
+
+ * test/dl/test_import.rb (DL::LIBC::BoundQsortCallback): renamed
+ to get rid of overwriting warning.
+
Tue Feb 16 11:03:19 2010 Aaron Patterson <aaron@tenderlovemaking.com>
* ext/dl/method.c: Adding DL::Method as a superclass for DL::Function
diff --git a/ext/dl/cfunc.c b/ext/dl/cfunc.c
index 4d10c82ff2..2c0cd5f240 100644
--- a/ext/dl/cfunc.c
+++ b/ext/dl/cfunc.c
@@ -147,12 +147,12 @@ rb_dlcfunc_initialize(int argc, VALUE argv[], VALUE self)
struct cfunc_data *data;
void *saddr;
const char *sname;
-
+
rb_scan_args(argc, argv, "13", &addr, &type, &name, &calltype);
-
+
saddr = (void*)(NUM2PTR(rb_Integer(addr)));
sname = NIL_P(name) ? NULL : StringValuePtr(name);
-
+
TypedData_Get_Struct(self, struct cfunc_data, &dlcfunc_data_type, data);
if( data->name ) xfree(data->name);
data->ptr = saddr;
@@ -286,9 +286,9 @@ rb_dlcfunc_inspect(VALUE self)
char *str;
int str_size;
struct cfunc_data *cfunc;
-
+
TypedData_Get_Struct(self, struct cfunc_data, &dlcfunc_data_type, cfunc);
-
+
str_size = (cfunc->name ? strlen(cfunc->name) : 0) + 100;
str = ruby_xmalloc(str_size);
snprintf(str, str_size - 1,
@@ -339,14 +339,14 @@ rb_dlcfunc_call(VALUE self, VALUE ary)
memset(stack, 0, sizeof(DLSTACK_TYPE) * DLSTACK_SIZE);
Check_Type(ary, T_ARRAY);
-
+
TypedData_Get_Struct(self, struct cfunc_data, &dlcfunc_data_type, cfunc);
if( cfunc->ptr == 0 ){
rb_raise(rb_eDLError, "can't call null-function");
return Qnil;
}
-
+
for( i = 0; i < RARRAY_LEN(ary); i++ ){
if( i >= DLSTACK_SIZE ){
rb_raise(rb_eDLError, "too many arguments (stack overflow)");
@@ -354,7 +354,7 @@ rb_dlcfunc_call(VALUE self, VALUE ary)
rb_check_safe_obj(RARRAY_PTR(ary)[i]);
stack[i] = NUM2LONG(RARRAY_PTR(ary)[i]);
}
-
+
/* calltype == CFUNC_CDECL */
if( cfunc->calltype == CFUNC_CDECL
#ifndef FUNC_STDCALL
diff --git a/ext/dl/cptr.c b/ext/dl/cptr.c
index 11ecf6f81d..2598641371 100644
--- a/ext/dl/cptr.c
+++ b/ext/dl/cptr.c
@@ -104,7 +104,7 @@ rb_dlptr2cptr(VALUE val)
else{
rb_raise(rb_eTypeError, "DL::PtrData was expected");
}
-
+
return ptr;
}
diff --git a/test/dl/test_base.rb b/test/dl/test_base.rb
index e67f0795d5..b0e5e6fa11 100644
--- a/test/dl/test_base.rb
+++ b/test/dl/test_base.rb
@@ -66,11 +66,11 @@ module DL
end
def assert_match(expected, actual, message="")
- assert(expected === actual, message)
+ assert_operator(expected, :===, actual, message)
end
def assert_positive(actual)
- assert(actual > 0)
+ assert_operator(actual, :>, 0)
end
def assert_zero(actual)
@@ -78,7 +78,7 @@ module DL
end
def assert_negative(actual)
- assert(actual < 0)
+ assert_operator(actual, :<, 0)
end
def test_empty()
diff --git a/test/dl/test_handle.rb b/test/dl/test_handle.rb
index 7a7d5bd71c..0345e96e63 100644
--- a/test/dl/test_handle.rb
+++ b/test/dl/test_handle.rb
@@ -4,7 +4,7 @@ module DL
class TestHandle < TestBase
def test_to_i
handle = DL::Handle.new(LIBC_SO)
- assert handle.to_i
+ assert_kind_of Integer, handle.to_i
end
def test_static_sym_secure
@@ -22,7 +22,7 @@ module DL
end
def test_static_sym
- assert DL::Handle.sym('dlopen')
+ assert_not_nil DL::Handle.sym('dlopen')
assert_equal DL::Handle.sym('dlopen'), DL::Handle['dlopen']
end
@@ -57,8 +57,8 @@ module DL
def test_sym
handle = DL::Handle.new(LIBC_SO)
- assert handle.sym('calloc')
- assert handle['calloc']
+ assert_not_nil handle.sym('calloc')
+ assert_not_nil handle['calloc']
end
def test_handle_close
@@ -98,12 +98,12 @@ module DL
def test_initialize_noargs
handle = DL::Handle.new
- assert handle['rb_str_new']
+ assert_not_nil handle['rb_str_new']
end
def test_initialize_flags
handle = DL::Handle.new(LIBC_SO, DL::RTLD_LAZY | DL::RTLD_GLOBAL)
- assert handle['calloc']
+ assert_not_nil handle['calloc']
end
def test_enable_close
@@ -134,7 +134,7 @@ module DL
# library.
# --- Ubuntu Linux 8.04 dlsym(3)
handle = DL::Handle::NEXT
- assert handle['malloc']
+ assert_not_nil handle['malloc']
rescue
# BSD
#
@@ -145,19 +145,19 @@ module DL
# called from a shared library, all subsequent shared libraries are
# searched. RTLD_NEXT is useful for implementing wrappers around library
# functions. For example, a wrapper function getpid() could access the
- # “real” getpid() with dlsym(RTLD_NEXT, "getpid"). (Actually, the dlfunc()
+ # "real" getpid() with dlsym(RTLD_NEXT, "getpid"). (Actually, the dlfunc()
# interface, below, should be used, since getpid() is a function and not a
# data object.)
# --- FreeBSD 8.0 dlsym(3)
require 'objspace'
handle = DL::Handle::NEXT
- assert handle['Init_objspace']
+ assert_not_nil handle['Init_objspace']
end
end
def test_DEFAULT
handle = DL::Handle::DEFAULT
- assert handle['malloc']
+ assert_not_nil handle['malloc']
end
end
end
diff --git a/test/dl/test_import.rb b/test/dl/test_import.rb
index e4af382abc..56a417f9ab 100644
--- a/test/dl/test_import.rb
+++ b/test/dl/test_import.rb
@@ -18,7 +18,7 @@ module DL
extern "int gettimeofday(timeval*, timezone*)" rescue nil
QsortCallback = bind("void *qsort_callback(void*, void*)", :temp)
- BoundQsortCallback = bind("void *qsort_callback(void*, void*)"){|ptr1,ptr2| ptr1[0] <=> ptr2[0]}
+ BoundQsortCallback = bind("void *bound_qsort_callback(void*, void*)"){|ptr1,ptr2| ptr1[0] <=> ptr2[0]}
Timeval = struct [
"long tv_sec",
"long tv_usec",