aboutsummaryrefslogtreecommitdiffstats
path: root/test/ruby
Commit message (Collapse)AuthorAgeFilesLines
* object.c: error message encodingnobu2014-01-301-0/+16
| | | | | | | * 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/trunk@44758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_exception.rb: ignore SystemStackErrornobu2014-01-301-0/+1
| | | | | | | | | * test/ruby/test_exception.rb (test_machine_stackoverflow_by_define_method): ignore propagated SystemStackError, as well as test_machine_stackoverflow, which has not bee rescued in the child process by unknown reason. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread_pthread.c: get current main thread stack sizenobu2014-01-271-0/+10
| | | | | | | | * thread_pthread.c: get current main thread stack size, which may be expanded than allocated size at initialization, by rlimit(). [ruby-core:60113] [Bug #9454] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c: assignment result of aset_withnobu2014-01-251-0/+10
| | | | | | | | * compile.c (iseq_compile_each): result of assignment should be its rhs instead of returned value from a method. [ruby-core:60071] [Bug #9448] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_process.rb: clock_getres may not supportednobu2014-01-241-0/+2
| | | | | | | * test/ruby/test_process.rb (test_clock_getres): ignore if clock_getres is no supported, e.g., on old Linux. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44698 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/envutil.rb: try to wait a bit (0.1sec) when ruby processko12014-01-231-0/+1
| | | | | | | | | exits by signals because some SEGV tests fail because of not enough error output. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_settracefunc.rb: check the target thread.ko12014-01-231-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_settracefunc.rb: check the target thread.ko12014-01-231-0/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_process.rb: fix conditionnobu2014-01-231-1/+1
| | | | | | | * test/ruby/test_process.rb (test_deadlock_by_signal_at_forking): fix condition to define. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_process.rb: deadlock testnobu2014-01-231-0/+48
| | | | | | | * test/ruby/test_process.rb (test_deadlock_by_signal_at_forking): test for r44687, deadlock in rb_fork_internal(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compar.c (cmp_equal): warn for this release and still rescueeregon2014-01-181-2/+4
| | | | | | | | standard exceptions for a nicer transition. See #7688. Partly reverts r44502. * test/ruby/test_comparable.rb: adapt assertion to match new behavior. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_comparable.rb: specify behavior for the differenteregon2014-01-181-2/+4
| | | | | | kind of exceptions rescued (or not) by Comparable#==. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* eval.c: singleton class constantsnobu2014-01-171-0/+13
| | | | | | | * 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/trunk@44628 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_thread.rb: stop at oncenobu2014-01-161-2/+6
| | | | | | | * test/ruby/test_thread.rb (test_priority): stop both threads at once by a flag. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44627 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_gc.rb: relax assertionnobu2014-01-151-1/+1
| | | | | | | * test/ruby/test_gc.rb (test_profiler_total_time): GC time may be shorter than the timer resolution. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44619 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_numeric.rb: default_externalnobu2014-01-151-4/+13
| | | | | | | * test/ruby/test_numeric.rb (test_coerce): manage Encoding.default_external. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* numeric.c: preserve encodingnobu2014-01-151-1/+10
| | | | | | * numeric.c (num_init_copy): preserve encoding of error message. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44613 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* numeric.c: preserve encodingnobu2014-01-151-2/+2
| | | | | | * numeric.c (num_sadded): preserve encoding of error message. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44612 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* numeric.c: preserve encodingnobu2014-01-151-0/+5
| | | | | | * numeric.c (coerce_failed): preserve encoding of error message. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44610 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_numeric.rb: coercion failuresnobu2014-01-151-0/+5
| | | | | | | * test/ruby/test_numeric.rb (test_coerce): new assertions for failure of coercion. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44609 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: respect BOMnobu2014-01-151-0/+9
| | | | | | | * string.c (get_encoding): respect BOM on pseudo encodings. [ruby-dev:47895] [Bug #9415] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44606 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: use actual encodingsnobu2014-01-151-0/+4
| | | | | | | | | * string.c (get_actual_encoding): get actual encoding according to the BOM if exists. * string.c (rb_str_inspect): use according encoding, instead of pseudo encodings, UTF-{16,32}. [ruby-core:59757] [Bug #8940] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_m17n.rb: split tests for inspectnobu2014-01-151-12/+10
| | | | | | | * test/ruby/test_m17n.rb (test_utf_16_32_inspect): split tests for each encodings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44604 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_super.rb: remove unneeded codenobu2014-01-101-1/+1
| | | | | | | * test/ruby/test_super.rb (test_missing_super_in_module_unbound_method): binding target does not need extending. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* insns.def: add opt path for Hash#[] and Hash#[]= used with str literal keystmm12014-01-101-1/+15
| | | | | | | | | | | | | | * insns.def (opt_aref_with): new instruction to optimize Hash#[], removing any allocation overhead when used with a string literal key. Patch by normalperson (Eric Wong). [ruby-core:59640] [Bug #9382] * insns.def (opt_aset_with): new instruction to optimize Hash#[]= * compile.c (iseq_compile_each): compiler shortcuts for new instructions * hash.c (static VALUE rb_hash_compare_by_id_p): fix documentation for Hash#compare_by_identity to reflect frozen string sharing * test/ruby/test_hash.rb (class TestHash): test for new behavior git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm.c (rb_vm_pop_cfunc_frame): added. It cares c_return event.ko12014-01-091-0/+84
| | | | | | | | | | | | | | | | | | | The patch base by drkaes (Stefan Kaes). [Bug #9321] * variable.c (rb_mod_const_missing): use rb_vm_pop_cfunc_frame() instead of rb_frame_pop(). * vm_eval.c (raise_method_missing): ditto. * vm_eval.c (rb_iterate): ditto. * internal.h (rb_vm_pop_cfunc_frame): add decl. * test/ruby/test_settracefunc.rb: add tests. provided by drkaes (Stefan Kaes). * vm.c, eval.c, include/ruby/intern.h (rb_frame_pop): move definition of rb_frame_pop() and deprecate it. It doesn't care about `return' events. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44535 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_insnhelper.c: revive r44455 for bound module methodnobu2014-01-081-0/+13
| | | | | | | | | * 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/trunk@44527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* object.c: hash value from objid with saltnobu2014-01-081-0/+21
| | | | | | | | | * hash.c (rb_objid_hash): return hash value from object ID with a salt, extract from rb_any_hash(). * object.c (rb_obj_hash): return same value as rb_any_hash(). fix r44125. [ruby-core:59638] [Bug #9381] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* array.c: return first unique element in Array#uniqtmm12014-01-061-0/+5
| | | | | | | | * array.c (ary_add_hash): Fix consistency issue between Array#uniq and Array#uniq! [Bug #9340] [ruby-core:59457] * test/ruby/test_array.rb (class TestArray): regression test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_super.rb: test_module_super_in_method_modulenobu2014-01-061-0/+18
| | | | | | | | * test/ruby/test_super.rb (test_module_super_in_method_module): more test for the case searching super method from a method defined in a module. [ruby-core:59589] [Bug #9315] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44510 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compar.c (cmp_equal): remove error hiding in Comparable#==.eregon2014-01-051-2/+3
| | | | | | | | | | Comparable#== no longer rescues exceptions silently. This was the cause of quite a couple bugs. See #7688. [EXPERIMENTAL] * test/ruby/test_comparable.rb: adapt assertion to match new behavior. * lib/rdoc/method_attr.rb: fix bugs discovered by this change. * test/rdoc/test_rdoc_normal_class.rb: fix bugs in tests. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44502 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * struct.c (rb_struct_set): return assigned value from setter methodcharliesome2014-01-041-0/+6
| | | | | | | | rather than struct object. [Bug #9353] [ruby-core:59509] * test/ruby/test_struct.rb (test_setter_method_returns_value): add test git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby/test_gc.rb: use GC.stat(:key) instead of GC.statkazu2014-01-041-1/+1
| | | | | | | * test/ruby/test_gc.rb (TestGc#test_latest_gc_info): use GC.stat(:key) instead of GC.stat. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44500 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_transcode.rb: add messagesnobu2014-01-011-4/+4
| | | | | | | * test/ruby/test_transcode.rb (test_valid_dummy_encoding): add assertion messages and suppress a warning. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* eval.c: raise with causenobu2013-12-311-0/+14
| | | | | | | * eval.c (rb_f_raise): add cause: optional keyword argument. [ruby-core:58610] [Feature #8257] [EXPERIMENTAL] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* encoding.c: mask dummy flagsnobu2013-12-301-0/+11
| | | | | | | * encoding.c (must_encindex, rb_enc_from_index, rb_obj_encoding): mask encoding index and ignore dummy flags. [ruby-core:59354] [Bug #9314] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44462 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_sprintf.rb: sprintf with a hash as parameternobu2013-12-281-0/+5
| | | | | | | * test/ruby/test_sprintf.rb (test_hash): Added tests for sprintf with a hash as parameter. [Fixes GH-491] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_insnhelper.c: missing super in method modulenobu2013-12-281-0/+15
| | | | | | | | | * 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] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y: save cmdarg_stack in local scopenobu2013-12-271-0/+5
| | | | | | | | * 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/trunk@44449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* hash.c: remove dead codenobu2013-12-261-12/+0
| | | | | | | * hash.c (rb_hash_reject): remove dead code for the deprecated behavior. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * proc.c: Having any mandatory keyword argument increases min arity [#9299]marcandre2013-12-251-0/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44433 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * proc.c: Having optional keyword arguments makes maximum arity +1, not ↵marcandre2013-12-251-6/+6
| | | | | | unlimited [#8072] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c: unnamed keyword rest checknobu2013-12-251-0/+9
| | | | | | | | | | | | | * compile.c (iseq_set_arguments): set arg_keyword_check from nd_cflag, which is set by parser. internal ID is used for unnamed keyword rest argument, which should be separated from no keyword check. * iseq.c (rb_iseq_parameters): if no keyword check, keyword rest is present. * parse.y (new_args_tail_gen): set keywords check to nd_cflag, which equals to that keyword rest is not present. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_keyword.rb: suppress warningsnobu2013-12-251-4/+4
| | | | | | | | | | * test/ruby/test_keyword.rb (test_block_required_keyword): suppress shadowing outer variable warning. * test/ruby/test_keyword.rb (test_precedence_of_keyword_arguments): suppress unused variable warning. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* iseq.c: fix parameter of unnamed rest keywords argumentnobu2013-12-252-0/+43
| | | | | | | * iseq.c (rb_iseq_parameters): push argument type symbol only for unnamed rest keywords argument. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* proc.c: fix arity of rest keywords argumentnobu2013-12-252-0/+39
| | | | | | | * proc.c (rb_iseq_min_max_arity): maximum argument is unlimited if having rest keywords argument. [ruby-core:53298] [Bug #8072] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_method.rb, test_proc.rb: suppress warningsnobu2013-12-252-4/+5
| | | | | | | | * test/ruby/test_method.rb: suppress warnings in verbose mode. * test/ruby/test_proc.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44412 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_insnhelper.c (argument_error): insert dummy frame to makeko12013-12-251-8/+30
| | | | | | | | | | | | a backtrace object intead of modify backtrace string array. [Bug #9295] * test/ruby/test_backtrace.rb: add a test for this patch. fix test to compare a result of Exception#backtrace with a result of Exception#backtrace_locations. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44411 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_rubyoptions.rb: remove corenobu2013-12-251-8/+13
| | | | | | | | * test/ruby/test_rubyoptions.rb (test_segv_loaded_features): run SEGV test in a temproray directory so that core files may not be left, not to confuse chkbuild. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44408 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_variable.rb: fix testnobu2013-12-241-3/+2
| | | | | | | * test/ruby/test_variable.rb (test_binding_local_variables): adjust local variables. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e