aboutsummaryrefslogtreecommitdiffstats
path: root/test/ruby
Commit message (Collapse)AuthorAgeFilesLines
* hash.c: frozen PATH envnobu2014-06-241-0/+18
| | | | | | | * hash.c (env_path_str_new): make PATH environment variable string, to be frozen. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46538 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Backtrace for SystemStackErrornobu2014-06-231-1/+2
| | | | | | | | | | | * eval.c (setup_exception): set backtrace in system stack error other than the pre-allocated sysstack_error. [Feature #6216] * proc.c (Init_Proc): freeze the pre-allocated sysstack_error. * vm_insnhelper.c (vm_stackoverflow): raise new instance for each times without calling any methods to keep the backtrace with no further stack overflow. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46502 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_regexp.rb: split test_oncenobu2014-06-201-3/+6
| | | | | | | * test/ruby/test_regexp.rb (test_once): split for each cases than separating by comments. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_regexp.rb: assert prefixnobu2014-06-201-2/+4
| | | | | | | * test/ruby/test_regexp.rb: rename and prefix `assert_` to show caller method names in backtrace. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_optimization.rb: redefine separatelynobu2014-06-201-29/+34
| | | | | | | * test/ruby/test_optimization.rb (assert_redefine_method): redefine optimized methods in separate processes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_settracefunc.rb: rewrite tests withko12014-06-191-99/+40
| | | | | | | | | | assert_consistent_call_return(). assert_consistent_call_return() is also modified to check consistency. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * compile.c (rb_iseq_compile_node): put start label of block afterko12014-06-191-0/+48
| | | | | | | | | | | | trace (b_call). [Bug #9964] * test/ruby/test_settracefunc.rb: add a test. added assert_consistent_call_return() method check call/return consistency. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm.c (rb_vm_rewind_cfp): add new function to rewind specified cfpko12014-06-191-0/+51
| | | | | | | | | | | | | | | with invoking RUBY_EVENT_C_RETURN. [Bug #9961] * vm_core.h: ditto. * eval.c (rb_protect): use it. * eval.c (rb_rescue2): ditto. * vm_eval.c (rb_iterate): ditto. * test/ruby/test_settracefunc.rb: add a test. * vm_core.h (rb_name_err_mesg_new): git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm.c (invoke_block_from_c): move call/return event timing forko12014-06-191-1/+20
| | | | | | | | | | | | bmethod. It can invoke inconsistent call event if this call raises argument error. [Bug #9959] * vm_insnhelper.c (vm_call_bmethod_body): ditto. * test/ruby/test_settracefunc.rb: add a test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46464 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_core.h: add VM_FRAME_MAGIC_RESCUE to recognize normal block orko12014-06-191-0/+36
| | | | | | | | | | | | | | rescue clause. * vm.c (vm_exec): use VM_FRAME_MAGIC_RESCUE on at rescue/ensure. * test/ruby/test_settracefunc.rb: should not invoke b_return at rescue clause. [Bug #9957] * vm_dump.c (control_frame_dump): check VM_FRAME_MAGIC_RESCUE. * vm_dump.c (vm_stack_dump_each): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46463 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* proc.c: Implement Method#currynobu2014-06-191-0/+51
| | | | | | | * proc.c (rb_method_curry): Implement Method#curry, which delegates to to_proc.curry. [ruby-core:62212] [Feature #9783] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* eval.c: pass unknown optionsnobu2014-06-171-0/+21
| | | | | | | | * eval.c (extract_raise_opts): pass unknown options to the exception, so that exception class can receive a hash argument. [ruby-core:63203] [Feature #8257] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* process.c: use UTF-8nobu2014-06-161-0/+10
| | | | | | | * process.c (open): use UTF-8 version function to support non-ascii path properly. [ruby-core:63185] [Bug #9946] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_file_exhaustive.rb: fix expected valuenobu2014-06-151-1/+1
| | | | | | | * test/ruby/test_file_exhaustive.rb (test_expand_path_memsize): correct expected value, count terminator byte. [Bug #9934] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46437 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_file_exhaustive.rb: fix assertionnobu2014-06-151-1/+1
| | | | | | | | * test/ruby/test_file_exhaustive.rb (test_expand_path_memsize): wrong expected value, considering a prefix (drive letter or UNC) on DOSISH platforms. [Bug #9934] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* array.c: non-recursive rcombinate0nobu2014-06-141-0/+6
| | | | | | | * array.c (rcombinate0): remove recursion, by looping with indexes stored in `p`. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46428 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* array.c: non-recursive rpermute0nobu2014-06-141-0/+6
| | | | | | | * array.c (rpermute0): remove recursion, by looping with indexes stored in `p`. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* array.c: non-recursive permute0nobu2014-06-141-0/+7
| | | | | | | * array.c (permute0): remove recursion, by looping with indexes stored in `p`. [ruby-core:63103] [Bug #9932] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_trace.c: clear and restore recursive checking thread local datako12014-06-131-0/+12
| | | | | | | | | | | | | | to avoid unexpected throw from TracePoint. [Bug #9940] * test/ruby/test_settracefunc.rb: add a test. * thread.c: adde * rb_threadptr_reset_recursive_data(rb_thread_t *th); * rb_threadptr_restore_recursive_data(rb_thread_t *th, VALUE old); * vm_core.h: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* array.c: combination on a shared copynobu2014-06-131-0/+9
| | | | | | | | * array.c (rb_ary_combination): iterate on a shared copy, and use array of indexes instead of array of chosen objects. [ruby-core:63149] [Bug #9939] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add more test coverage for [ruby-core:63136] [Bug #9934]tmm12014-06-131-0/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* file.c: shrink expanded pathnobu2014-06-121-0/+7
| | | | | | | * file.c (expand_path): shrink expanded path which no longer needs rooms to append. [ruby-core:63114] [Bug #9934] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c: invoke GC before memory allocation (xmalloc/xrealloc)ko12014-06-101-0/+18
| | | | | | | | | | when GC.stress = true. [Bug #9859] * test/ruby/test_gc.rb: add a test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* envutil.rb: avoid error on OS X 10.10nobu2014-06-101-1/+1
| | | | | | | * test/ruby/envutil.rb (diagnostic_reports): Mac OS X 10.10 may not create plist file with crash file together. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* envutil.rb: use keyword argumentnobu2014-06-102-5/+5
| | | | | | * test/ruby/envutil.rb (assert_valid_syntax): use keyword argument. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46389 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * numeric.c (do_coerce): Add a warning when an exception is raisederegon2014-06-071-0/+17
| | | | | | | | | | | | or an invalid value is returned in #coerce called by numeric comparison operators and the exception thrown by the caller has no information on the failure. In the next release such exception should not be rescued or should be the cause of the caller exception. nil is accepted as the "no possible coercion" return value. See #7688. * test/ruby/test_numeric.rb: Add corresponding test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io.c: truncate before appendingnobu2014-06-071-0/+13
| | | | | | | | * io.c (read_all): truncate the buffer before appending read data, instead of truncating before reading. [ruby-core:55951] [Bug #8625] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46372 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * object.c (rb_mod_initialize_clone): Override Kernel#initialize_cloneakr2014-06-071-0/+6
| | | | | | | | | to avoid an exception on Class.new.freeze.clone.to_s. Reported by Andrew Grimm. [ruby-core:41858] [Bug #5828] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46370 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c, parse.y: private op assignnobu2014-06-061-0/+18
| | | | | | | | * compile.c (iseq_compile_each), parse.y (new_attr_op_assign_gen): allow op assign to a private attribute. [ruby-core:62949] [Bug #9907] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46365 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_assignment.rb: assignment to private attributenobu2014-06-061-0/+23
| | | | | | | | * test/ruby/test_assignment.rb (test_assign_private_self): test for r3509, assignment to private attribute is allowed iff its receiver is literal `self`. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46364 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_assignment.rb: split test_assignnobu2014-06-061-0/+14
| | | | | | | * test/ruby/test_assignment.rb (test_assign): split by assignment forms. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io.c: not shorten buffer unless succeedednobu2014-06-061-0/+8
| | | | | | | * io.c (io_setstrbuf, io_read): should not shorten the given buffer until read succeeds. [ruby-core:55951] [Bug #8625] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46360 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* re.c: consider name encodingnobu2014-06-041-0/+9
| | | | | | | | * re.c (match_aref, rb_reg_regsub): consider encoding of captured names, encoding-incompatible should not match. [ruby-dev:48278] [Bug #9903] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46346 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* re.c: fix name with NULnobu2014-06-041-0/+16
| | | | | | | * re.c (match_aref): should not ignore name after NUL byte. [ruby-dev:48275] [Bug #9902] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46344 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm.c: return the result hashnobu2014-06-031-0/+11
| | | | | | | | * vm.c (core_hash_merge_kwd): should return the result hash, which may be converted from and differ from the given argument. [ruby-core:62921] [Bug #9898] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46342 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_gc.rb: allocate more objects to invoke GC by newobj.ko12014-06-031-1/+2
| | | | | | | | GC allows extending pages depends on heap_increment. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46339 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/memory_status.rb: add $LOAD_PATH to load test/unitko12014-06-031-0/+1
| | | | | | | | correctly for fiddle/import unavailable environments. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46326 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/envutil.rb (default_warning): New method.akr2014-06-012-2/+10
| | | | | | | | * test/ruby/test_autoload.rb: Use EnvUtil.default_warning. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46310 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Use EnvUtil.suppress_warning.akr2014-06-011-32/+28
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46300 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Suppress a warning.akr2014-06-011-0/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Suppress a warning.akr2014-06-011-0/+5
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46294 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Join threads before close pipes.akr2014-05-311-10/+8
| | | | | | | | | | closing a FD interrupts threads which uses the FD. rb_thread_io_blocking_region (for write()) checks an interrupt after write() is finished. So, joining the thread after closing() may raise "IOError: stream closed". git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46290 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Join threads.akr2014-05-312-2/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46286 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Join threads.akr2014-05-311-2/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46285 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* add --disable-gemnaruse2014-05-301-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46263 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_string.rb: move and add assertionsnobu2014-05-301-2/+5
| | | | | | | | * test/ruby/test_string.rb (test_slice): move the assertion for [Bug #9882], and more assertion for `ascii_only?` too, as pointed out by Heesob Park in [ruby-core:62846]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: reset code rangenobu2014-05-301-0/+2
| | | | | | | | * string.c (rb_str_substr): need to reset code range for shared string too, not only copied string. [ruby-core:62842] [Bug #9882] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_beginendblock.rb: avoid leaking threadsnobu2014-05-301-1/+1
| | | | | | | * test/ruby/test_beginendblock.rb (test_endblock_raise): not only kill, but also wait the end. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (pipe_open): Close pipes when rb_execarg_fixup() raisesakr2014-05-291-22/+33
| | | | | | | | | an exception. (rb_execarg_fixup_v): New function. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * io.c (rb_io_s_pipe): Close pipes if io_encoding_set() raises anakr2014-05-292-65/+82
| | | | | | | | | exception. (io_encoding_set_v): New function. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e