summaryrefslogtreecommitdiff
path: root/test/ruby
AgeCommit message (Collapse)Author
2014-02-22merge revision(s) r45076: [Backport #9535]nagachika
* class.c (rb_mod_init_copy): do nothing if copying self. [ruby-dev:47989] [Bug #9535] * hash.c (rb_hash_initialize_copy): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@45096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-19merge revision(s) r44527: [Backport #9377]nagachika
* vm_insnhelper.c (vm_search_super_method): when super called in a bound UnboundMethod generated from a module, no superclass is found since the current defined class is the module, then call method_missing in that case. [ruby-core:59619] [Bug #9377] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@45051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-19merge revision(s) r43148,r43149,r43152: [Backport #8433]nagachika
* thread.c (terminate_atfork_i): fix locking mutexes not unlocked in forks when not tracked in thread. [ruby-core:55102] [Bug #8433] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@45049 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-19merge revision(s) r42176:nagachika
fix warning: shadowing outer local variable - path git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@45048 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-18merge revision(s) r42175:nagachika
envutil.rb: encoding * test/ruby/envutil.rb (Test::Unit::Assertions#assert_separately): specify the encoding of source. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@45039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-18merge revision(s) r40866:nagachika
* test/ruby/envutil.rb (assert_separately): require envutil in the child process too. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@45038 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-18merge revision(s) r40833:nagachika
Default script encoding is now UTF-8 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@45035 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-16merge revision(s) r43942,r43957,r43975: [Backport #9187]nagachika
* hash.c (rb_hash_rehash): fix to free new st_table when exception is raised in do_hash(). [Bug #9187] * hash.c (rb_hash_rehash): make temporary st_table under the control of GC. [Bug #9187] * test/ruby/test_hash.rb: add a test for above. * array.c (rb_hash_rehash): use hash_alloc() instead of rb_hash_new(). [Bug #9187] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@45011 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-16merge revision(s) r44628: [Backport #9413]nagachika
* eval.c (rb_mod_s_constants): return its own constants for other than Module itself. [ruby-core:59763] [Bug #9413] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@45010 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-16merge revision(s) r44803: [Backport #9484]nagachika
* string.c (rb_str_modify_expand): enable capacity and disable assocation with packed objects when setting capa, so that pack("p") string fails to unpack properly after modified. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@45005 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-15merge revision(s) r44758,r44759,r44760: [Backport #9466]nagachika
object.c: error message encoding * object.c (convert_type, rb_convert_type, rb_check_convert_type), (rb_to_integer): preserve class name encoding error messages. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44987 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-15merge revision(s) r42224,r42225,r42226,r42227,r42228,r42229,r42232: ↵nagachika
[Backport #8703] * hash.c (rb_hash_assoc): performance improvement by replacing compare function in RHASH(hash)->ntbl->type temporarily. * hash.c (rb_hash_assoc): aggregate object can be initialized only with link time constants. * hash.c (rb_hash_initialize_copy): clear old table before copy new table. * hash.c (rb_hash_initialize_copy): copy st_table type even if empty. [ruby-core:56256] [Bug #8703] * hash.c (rb_hash_initialize_copy): copy st_table type even if empty. [ruby-core:56256] [Bug #8703] * hash.c (rb_hash_initialize_copy): clear old table before copy new table. * hash.c (rb_hash_assoc): aggregate object can be initialized only with link time constants. * hash.c (rb_hash_assoc): revert r42224. table->type->compare is called only if hashes are matched. * test/ruby/test_hash.rb: add a test to check using #== to compare. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-15merge revision(s) r42242:nagachika
* test/ruby/test_hash.rb: use @cls. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44978 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-15merge revision(s) r44926: [Backport #8756] [Backport #9248]nagachika
* parse.y (IDSET_ATTRSET_FOR_INTERN): fix off-by-one bug. * parse.y (rb_enc_symname_type): junk ID succeeded by '=' is also attrset ID. [ruby-core:60668] [Bug #8756] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44975 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-15merge revision(s) r44046:nagachika
test_struct.rb: use assert_same * test/ruby/test_struct.rb (test_question_mark_in_member): true value has no meanings itself. use assert_same instead. * test/ruby/test_struct.rb (test_bang_mark_in_member): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-15merge revision(s) r44042,44045:nagachika
* test/ruby/test_struct.rb: Add regression test for question marks and bangs in struct members. [Closes GH-468] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44973 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-15merge revision(s) r43440:nagachika
* struct.c (new_struct): fix warning message, class name and encoding. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44972 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-15merge revision(s) r44931: [Backport #9452]nagachika
* vm_insnhelper.c (vm_call_method): should check ci->me->flag of a refining method in case the method is private. [ruby-core:60111] [Bug #9452] * vm_method.c (make_method_entry_refined): set me->flag of a refined method entry to NOEX_PUBLIC in case the original method is private and it is refined as a public method. The original flag is stored in me->def->body.orig_me, so it's OK to make a refined method entry public. [ruby-core:60111] [Bug #9452] * test/ruby/test_refinement.rb: related tests. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44967 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-11merge revision(s) r42479,r42490,r42509,r43083,r43084,r43085: [Backport ↵nagachika
#8756] [Backport #9248] * parse.y (rb_enc_symname_type): allow ID_ATTRSET for ID_INSTANCE, ID_GLOBAL, ID_CLASS, ID_JUNK too. [Bug #8756] * parse.y (rb_id_attrset): fix inconsistency with literals, allow ID_ATTRSET and return it itself, but ID_JUNK cannot make ID_ATTRSET. and raise a NameError instead of rb_bug() for invalid argument. * parse.y (rb_id_attrset, intern_str): allow junk attrset ID for Struct. * parse.y (rb_id_attrset): check if the argument is valid type as an attribute. * parse.y (rb_id_attrset): allow other than ID_ATTRSET. * parse.y (intern_str): ditto. try stem ID for ID_INSTANCE, ID_GLOBAL, ID_CLASS, ID_JUNK too. [Bug #8756] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-09merge revision(s) r44449: [Backport #9308]nagachika
* parse.y (local_push_gen, local_pop_gen): save cmdarg_stack to isolate command argument state from outer scope. [ruby-core:59342] [Bug #9308] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-09merge revision(s) 43385: [Backport #8006]nagachika
* dir.c (glob_helper): don't skip current directories if FNM_DOTMATCH is given. [ruby-core:53108] [Bug #8006] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-05merge revision(s) r42988: [Backport #8928]nagachika
* parse.y (intern_str): sigil only names are junk, at least one identifier character is needed. [ruby-dev:47723] [Bug #8928] * parse.y (rb_enc_symname_type): fix out of bound access. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-19merge revision(s) 44609,44610,44612,44613,44617:nagachika
test_numeric.rb: coercion failures * test/ruby/test_numeric.rb (test_coerce): new assertions for failure of coercion. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44660 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-12merge revision(s) 44260: [Backport #9168] nagachika
patch inspired from r44260 on trunk. [ruby-core:58652] [Bug #9168] * gc.c (run_finalizer): clear th->errinfo before invoke finalizer and restore afterward. * test/ruby/test_gc.rb (test_exception_in_finalizer): add test for above. * vm_trace.c (rb_threadptr_exec_event_hooks_orig): clear th->errinfo before invoke hook. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44576 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-06merge revision(s) 44455,44458,44510: [Backport #9315]nagachika
* vm_insnhelper.c (vm_search_super_method): direct superclass of a module is found when super called in a Method object generated a method defined in a module, call method_missing in that case. [ruby-core:59358] [Bug #9315] * proc.c (mnew_from_me): keep iclass as-is, to make inheritance chain consistent. [ruby-core:59358] [Bug #9315] * proc.c (method_owner): return the original defined_class from prepended iclass, instead. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44511 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-23merge revision(s) 44198: [Backport #9236]nagachika
* proc.c (mnew_from_me): method by respond_to_missing? should be owned by the original class. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44366 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-22merge revision(s) 44175,44179: [Backport #9236]nagachika
* proc.c (method_owner): return the class where alias is defined, not the class original method is defined. * vm_method.c (rb_method_entry_make, rb_alias): store the originally defined class in me. [Bug #7993] [Bug #7842] [Bug #9236] * vm_method.c (rb_method_entry_get_without_cache): cache included module but not iclass. * proc.c (mnew_from_me): achieve the original defined_class from prepended iclass, to fix inherited owner. * proc.c (method_owner): return the defined class, but not the class which the method object is created from. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44345 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-21merge revision(s) 44127: [Backport #9238]nagachika
* insns.def: Fix optimization bug of Float#/ [Bug #9238] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44326 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-21merge revision(s) 43685,43690,43705: [Backport #9110]nagachika
* eval_jump.c (rb_exec_end_proc): fix double free or corruption error when reentering by callcc. [ruby-core:58329] [Bug #9110] * test/ruby/test_beginendblock.rb: test for above. * eval_jump.c (rb_exec_end_proc): unlink and free procs data before calling for each procs. [Bug #9110] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44325 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-21merge revision(s) 44000: [Backport #9205]nagachika
test_gc.rb: shorten * test/ruby/test_gc.rb (test_sweep_in_finalizer): omit iteration number to 2. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44322 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-21merge revision(s) 43994: [Backport #9205]nagachika
* gc.c (finalize_deferred): flush all deferred finalizers while other finalizers can get ready to run newly by lazy sweep. [ruby-core:58833] [Bug #9205] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44319 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-12merge revision(s) 39722: [Backport #9178]nagachika
* enumerator.c (enumerator_with_index): try to convert given offset to integer. fix bug introduced in r39594. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-02merge revision(s) 43929: [Backport #9178]nagachika
* enumerator.c (enumerator_with_index): should not store local variable address to memoise the arguments. it is invalidated after the return. [ruby-core:58692] [Bug #9178] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@43961 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-02merge revision(s) 39594,39596: [Backport #8010]nagachika
* enumerator.c (enumerator_with_index_i): allow Bignum as offset, to get rid of conversion exception and integer overflow. [ruby-dev:47131] [Bug #8010] * enumerator.c (enumerator_with_index): Restore handling of a nil memo from r39594. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@43960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-02merge revision(s) 43853: [Backport #9157]nagachika
* file.c (rb_readlink): fix buffer overflow on a long symlink. since rb_str_modify_expand() expands from its length but not its capacity, need to set the length properly for each expansion. [ruby-core:58592] [Bug #9157] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@43959 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-22merge revision(s) 43775:nagachika
* util.c (ruby_strtod): ignore too long fraction part, which does not affect the result. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@43778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-20* test/ruby/test_thread.rb (test_mutex_unlock_on_trap): extend waitingnagachika
time to invocation of signal handler from 0.01 sec to 0.2 sec. RubyCI report error on mswin. reported by @unak git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@43732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-24merge revision(s) 43413: [Backport #9048]nagachika
* parse.y: Remove +(binary) and -(binary) special cases [Feature #9048] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@43415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-24merge revision(s) 43376: [Backport #9038]nagachika
* encoding.c (load_encoding): should preserve outer errinfo, so that expected exception may not be lost. [ruby-core:57949] [Bug #9038] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@43414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-17merge revision(s) 43334: [Backport #9030]nagachika
* vm_insnhelper.c (vm_call_method): set ci->me to 0 when the original method of a refined method is undef to avoid SEGV. * vm_method.c (rb_method_entry_without_refinements): return 0 when the original method of a refined method is undef to avoid SEGV. * test/ruby/test_refinement.rb: related test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@43345 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-17merge revision(s) 43328: [Backport #9033]nagachika
* win32/file.c (rb_file_expand_path_internal): fix memory leaks at a non-absolute home exception. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@43344 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-10merge revision(s) 42068,42069: [Backport #8654]nagachika
Suppress warnings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@43242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-09merge revision(s) 43208: [Backport #9003]nagachika
* compar.c (cmp_eq): fail if recursion. [ruby-core:57736] [Bug #9003] * thread.c (rb_exec_recursive_paired_outer): new function which is combinnation of paired and outer variants. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@43230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-09merge revision(s) 42040,42041,42047: [Backport #8654]nagachika
* array.c (rb_ary_count): iterate items appropriately. [Bug #8654] * array.c (rb_ary_count): check length to avoid SEGV while iterating. Remove other pointer loop when arg is given. * test/ruby/test_array.rb (test_count): add test for bug. [ruby-core:56072] [Bug #8654] * test/ruby/test_array.rb (test_count): add a test case for #count with an argument. See Bug #8654. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@43228 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-04merge revision(s) 43112,43114,43117,43118: [Backport #8980]nagachika
* io.c (rb_io_close_read): keep fptr in write_io to be discarded, to fix freed pointer access when it is in use by other threads, and get rid of potential memory/fd leak. * io.c (rb_io_close_write): detach tied IO for writing before closing to get rid of race condition. [ruby-list:49598] * io.c (rb_io_close_read): duplex IO should wait its child process even after close_read. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@43144 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-04merge revision(s) 43090,43091: [Backport #8966]nagachika
* vm_method.c (rb_undef): raise a NameError if the original method of a refined method is not defined. * vm_insnhelper.c (rb_method_entry_eq): added NULL check to avoid SEGV. * test/ruby/test_refinement.rb: related test. of a refined method is not defined. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@43143 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-04merge revision(s) 40534,41886,41903,41910: [Backport #8616]nagachika
process.c: rb_daemon should not raise * process.c (rb_daemon): should not raise exceptions, since proc_daemon() will deal with errors. * process.c (fork_daemon): kill the other threads all and abandon the kept mutexes. * process.c (fork_daemon): kill the other threads all and abandon the kept mutexes. * process.c (rb_daemon): daemon(3) is implemented with fork(2). Therefore it needs rb_thread_atfork(). (and revert r41903) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@43142 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-28merge revision(s) 42542: [Backport #8910]nagachika
* random.c (rb_random_ulong_limited): coerce before check negative. [Fixes GH-379] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@43079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-26merge revision(s) 42980,42981: [Backport #8927]nagachika
* parse.y (lambda): adjust position to the beginning of the block. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@43063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-09-15merge revision(s) 42908,42918: [Backport #8864]nagachika
test_sprintf_comb.rb: split tests * test/ruby/test_sprintf_comb.rb (test_format_integer), (test_format_float): split huge tests by the formats. * vsnprintf.c (MAXEXP, MAXFRACT): calculate depending on constants in float.h. * vsnprintf.c (BSD_vfprintf): limit length for cvt() to get rid of buffer overflow. [ruby-core:57023] [Bug #8864] * vsnprintf.c (exponent): make expbuf size more precise. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@42944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e