1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/spec/rubyspec/optional/capi
eregon 5b593e3889 Update to ruby/spec@abf1700
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-06-29 14:35:37 +00:00
..
ext
fixtures
array_spec.rb
bignum_spec.rb Update to ruby/spec@abf1700 2017-06-29 14:35:37 +00:00
boolean_spec.rb
class_spec.rb
complex_spec.rb
constants_spec.rb
data_spec.rb
encoding_spec.rb
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 Update to ruby/spec@abf1700 2017-06-29 14:35:37 +00:00
marshal_spec.rb
module_spec.rb
mutex_spec.rb
numeric_spec.rb
object_spec.rb
proc_spec.rb
rake_helper.rb
range_spec.rb
rational_spec.rb
README
regexp_spec.rb
spec_helper.rb capi/spec_helper.rb: suppress logo 2017-06-18 01:15:36 +00:00
string_spec.rb
struct_spec.rb
symbol_spec.rb
thread_spec.rb
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'
6.  Attach the C function to the class using the name 'rb_ary_new'