Skip to content

Commit b3c9fd0

Browse files
committed
Spec rb_gc_register_mark_object
1 parent ee6f175 commit b3c9fd0

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

spec/ruby/optional/capi/ext/gc_spec.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,11 @@ static VALUE gc_spec_rb_gc_adjust_memory_usage(VALUE self, VALUE diff) {
3434
return Qnil;
3535
}
3636

37+
static VALUE gc_spec_rb_gc_register_mark_object(VALUE self, VALUE obj) {
38+
rb_gc_register_mark_object(obj);
39+
return Qnil;
40+
}
41+
3742
void Init_gc_spec(void) {
3843
VALUE cls = rb_define_class("CApiGCSpecs", rb_cObject);
3944
registered_tagged_value = INT2NUM(10);
@@ -48,6 +53,7 @@ void Init_gc_spec(void) {
4853
rb_define_method(cls, "rb_gc_disable", gc_spec_rb_gc_disable, 0);
4954
rb_define_method(cls, "rb_gc", gc_spec_rb_gc, 0);
5055
rb_define_method(cls, "rb_gc_adjust_memory_usage", gc_spec_rb_gc_adjust_memory_usage, 1);
56+
rb_define_method(cls, "rb_gc_register_mark_object", gc_spec_rb_gc_register_mark_object, 1);
5157
}
5258

5359
#ifdef __cplusplus

spec/ruby/optional/capi/gc_spec.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,4 +58,10 @@
5858
}.should_not raise_error
5959
end
6060
end
61+
62+
describe "rb_gc_register_mark_object" do
63+
it "can be called with an object" do
64+
@f.rb_gc_register_mark_object(Object.new).should be_nil
65+
end
66+
end
6167
end

0 commit comments

Comments
 (0)