mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
432e6805e1
* spec/rubyspec/optional/capi/spec_helper.rb (compile_extension): pass jobserver fds explicitly, because other specs might have set close_on_exec flags on these fds. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e |
||
---|---|---|
.. | ||
ext | ||
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 | ||
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 | ||
proc_spec.rb | ||
rake_helper.rb | ||
range_spec.rb | ||
rational_spec.rb | ||
README | ||
regexp_spec.rb | ||
spec_helper.rb | ||
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'