1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/spec/ruby/optional/capi
eregon 3e6337b88b Update to ruby/spec@8b743a3
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65388 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-27 10:48:40 +00:00
..
ext Update to ruby/spec@241f9e7 2018-09-25 10:41:16 +00:00
fixtures
array_spec.rb
bignum_spec.rb
boolean_spec.rb
class_spec.rb
complex_spec.rb
constants_spec.rb
data_spec.rb
encoding_spec.rb Update to ruby/spec@8b743a3 2018-10-27 10:48:40 +00:00
enumerator_spec.rb
exception_spec.rb
file_spec.rb
fixnum_spec.rb
float_spec.rb
gc_spec.rb
globals_spec.rb
hash_spec.rb
integer_spec.rb
io_spec.rb
kernel_spec.rb
marshal_spec.rb
module_spec.rb
mutex_spec.rb
numeric_spec.rb
object_spec.rb Update to ruby/spec@8b743a3 2018-10-27 10:48:40 +00:00
proc_spec.rb
rake_helper.rb
range_spec.rb
rational_spec.rb
README
regexp_spec.rb
spec_helper.rb Update to ruby/spec@241f9e7 2018-09-25 10:41:16 +00:00
st_spec.rb
string_spec.rb
struct_spec.rb
symbol_spec.rb
thread_spec.rb Update to ruby/spec@241f9e7 2018-09-25 10:41:16 +00:00
time_spec.rb
typed_data_spec.rb
util_spec.rb

C-API Specs

These specs test the C-API from Ruby. The following are conventions for the
specs:

1.  Put specs for functions related to a Ruby class in a file named according
    to the class. For example, for rb_ary_new function, put the specs in
    optional/capi/array_spec.rb
2.  Put the C file containing the C functions for array_spec.rb in
    optional/capi/ext/array_spec.c
3.  Add a '#define HAVE_RB_ARY_NEW  1' to rubyspec.h
4.  Name the C extension class 'CApiArraySpecs'.
5.  Name the C functions 'array_spec_rb_ary_new'.
6.  Wrap the code in the optional/capi/ext/array_spec.c in
    '#ifdef HAVE_RB_ARY_NEW'
7.  Attach the C function to the class using the name 'rb_ary_new'