aboutsummaryrefslogtreecommitdiffstats
path: root/test/ruby
Commit message (Collapse)AuthorAgeFilesLines
* test_sleep.rb: get rid of failure on Windowsnobu2013-10-061-2/+9
| | | | | | | * test/ruby/test_sleep.rb (test_sleep_5sec): relax bottom on Windows. assert_operator should test on the receiver. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_thread.rb: ignore meaningless testnobu2013-10-061-1/+1
| | | | | | | * test/ruby/test_thread.rb (test_blocking_mutex_unlocked_on_fork): ignore meaningless test on platforms where fork() is not supported. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread.c: fix some mutexes remaining locked after forkingnobu2013-10-051-0/+27
| | | | | | | * 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/trunk@43148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c: add objspace_free_num and make GC.stat[:heap_free_num] use ittmm12013-10-041-0/+7
| | | | | | | | | * gc.c (objspace_free_num): new method for available/free slots on heap. [ruby-core:57633] [Bug #8983] * gc.c (gc_stat): change heap_free_num definition to use new method. * test/ruby/test_gc.rb: test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43139 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_io.rb: fix typonobu2013-10-031-1/+1
| | | | | | | | * test/ruby/test_io.rb (test_pid_after_close_read): fix typo. pointed out by Peter Suschlik. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_io.rb: add testnobu2013-10-021-0/+11
| | | | | | * test/ruby/test_io.rb (tesst_pid_after_close_read): test for r43117. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43118 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io.c: get rid of race conditionnobu2013-10-021-0/+13
| | | | | | | * io.c (rb_io_close_write): detach tied IO for writing before closing to get rid of race condition. [ruby-list:49598] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_regexp.rb, test_string.rb: suppress warningsnobu2013-10-012-8/+8
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43105 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_regexp.rb, test_string.rb: use assert_separatelynobu2013-10-012-4/+4
| | | | | | | | * test/ruby/test_regexp.rb (test_eq_tilde_can_be_overridden): use assert_separately to suppress a warning. * test/ruby/test_string.rb (test_eq_tilde_can_be_overridden): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_regexp.rb, test_string.rb: suppress warningsnobu2013-10-012-0/+2
| | | | | | | | * test/ruby/test_regexp.rb (test_eq_tilde_can_be_overridden): suppress a warning. * test/ruby/test_string.rb (test_eq_tilde_can_be_overridden): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_method.c (rb_undef): raise a NameError if the original methodshugo2013-09-301-0/+44
| | | | | | | | | | 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. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_insnhelper.c (vm_callee_setup_arg_complex, vm_yield_setup_block_args):ktsj2013-09-291-0/+19
| | | | | | | | | | clear keyword arguments to prevent GC bug which occurs while marking VM stack. [ruby-dev:47729] [Bug #8964] * test/ruby/test_keyword.rb: tests for the above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43081 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* math.c: fix for Bignum argumentnobu2013-09-281-0/+3
| | | | | | | * math.c (math_log, math_log2, math_log10): fix for Bignum argument. numbits should be add only when right shifted. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43080 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c: add two GC tuning environment variables.ko12013-09-271-2/+12
| | | | | | | | | | | | | RUBY_GC_MALLOC_LIMIT_MAX and RUBY_GC_MALLOC_LIMIT_GROWTH_FACTOR. See r43067 for details. * gc.c (rb_gc_set_params): refactoring. And change verbose notation. Mostly duplicated functions get_envparam_int/double is not cool. Please rewrite it. * test/ruby/test_gc.rb: fix a test for this change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43072 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insns.def (opt_regexpmatch2): Check String#=~ hasn't overriddensorah2013-09-261-0/+12
| | | | | | | | | | | | before calling rb_reg_match(). * test/ruby/test_string.rb: Test for above. * vm.c (vm_init_redefined_flag): Add BOP flag for String#=~ [ruby-core:57385] [Bug #8953] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43052 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * insns.def (opt_regexpmatch1): check Regexp#=~ is not defined beforecharliesome2013-09-261-0/+12
| | | | | | | | | | | | | | | | | | | calling rb_reg_match() * test/ruby/test_regexp.rb: add test * vm.c (ruby_vm_redefined_flag): change type to short[] * vm.c (vm_redefinition_check_flag): return REGEXP_REDEFINED_OP_FLAG if klass == rb_cRegexp * vm.c (vm_init_redefined_flag): setup BOP flag for Regexp#=~ * vm_insnhelper.h: add REGEXP_REDEFINED_OP_FLAG [ruby-core:57385] [Bug #8953] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43050 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_transcode.rb: base encodingnobu2013-09-231-0/+1
| | | | | | | * test/ruby/test_transcode.rb (TestTranscode#test_pseudo_encoding_inspect): test for proper base encoding. [ruby-core:57318] [Bug #8940] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* encdb.c, utf_16_32.h: Unicode with BOMnobu2013-09-231-0/+7
| | | | | | | | * enc/encdb.c, enc/utf_16_32.h (ENC_DUMMY_UNICODE): Unicode with BOM must be based on big endian variants, so that actual encodings would work. [ruby-core:57318] [Bug #8940] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_module.rb: toplevel includenobu2013-09-231-0/+10
| | | | | | | | * test/ruby/test_module.rb (TestModule#test_include_toplevel): test for top level main.include. based on a part of the patch by kyrylo at [GH-395]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43019 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_module.rb: use assertions for messagesnobu2013-09-231-12/+13
| | | | | | | | * test/ruby/test_module.rb (TestModule#assert_top_method_is_private): use assert_separately and assert_raise_with_message for better messages. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y: junk sigil only namesnobu2013-09-202-0/+10
| | | | | | | | * 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/trunk@42988 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_lambda.rb: fix messagesnobu2013-09-191-2/+2
| | | | | | | * test/ruby/test_lambda.rb (test_{do,brace}_lambda_source_location): fix messages, missed to commit at r42980. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y: adjust position of lambdanobu2013-09-191-0/+24
| | | | | | * parse.y (lambda): adjust position to the beginning of the block. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42980 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h: make Symbol objects frozen.ko12013-09-192-1/+9
| | | | | | | | | | | [Feature #8906] I want to freeze this good day, too. * test/ruby/test_eval.rb: catch up this change. * test/ruby/test_symbol.rb: add a test to check frozen symbols. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_enumerate_lines): make String#each_line andglass2013-09-181-5/+0
| | | | | | | | | | | | #lines not raise invalid byte sequence error when it is called with an argument. The patch also causes performance improvement. [ruby-dev:47549] [Bug #8698] * test/ruby/test_m17n_comb.rb (test_str_each_line): remove assertions which check that String#each_line and #lines will raise an error if the receiver includes invalid byte sequence. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vsnprintf.c: fix buffer overflownobu2013-09-121-1/+1
| | | | | | | | | | | * 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/trunk@42918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_sprintf_comb.rb: split testsnobu2013-09-111-23/+23
| | | | | | | * test/ruby/test_sprintf_comb.rb (test_format_integer), (test_format_float): split huge tests by the formats. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42908 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * thread.c (rb_mutex_unlock): Mutex#unlock no longer raisekosaki2013-09-101-0/+17
| | | | | | an exception even if uses on trap. [Bug #8891] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_backtrace.c (vm_backtrace_to_ary): Ignore the second argument ifsorah2013-09-101-0/+4
| | | | | | | | | it is nil. [Bug #8884] [ruby-core:57094] * test/ruby/test_backtrace.rb (test_caller_with_nil_length): Test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* class.c: exclude refined methodsnobu2013-09-101-0/+11
| | | | | | | * class.c (method_entry_i): should exclude refined methods from instance method list. [ruby-core:57080] [Bug #8881] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_method.c: clear cache after refine methodnobu2013-09-091-0/+23
| | | | | | | | * vm_method.c (rb_add_refined_method_entry): clear cache in the refined class since refining a method entry is modifying the class. [ruby-core:57079] [Bug #8880] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * remove trailing spaces.nobu2013-09-071-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* numeric.c: no extra checksnobu2013-09-072-3/+3
| | | | | | | * numeric.c (NUM_STEP_SCAN_ARGS): remove extra class checks, which cause the incompatibilities. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42876 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_eval.c (vm_call0): fix prototype, the id parameter should be ofcharliesome2013-09-071-0/+21
| | | | | | | | | | | | | | type ID, not VALUE * vm_insnhelper.c (check_match): the rb_funcall family of functions does not care about refinements. We need to use rb_method_entry_with_refinements instead to call === with refinements. Thanks to Jon Conley for reporting this bug. [ruby-core:57051] [Bug #8872] * test/ruby/test_refinement.rb: add test git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (fstring_cmp): take string encoding into account whencharliesome2013-09-051-0/+7
| | | | | | | | comparing fstrings [ruby-core:57037] [Bug #8866] * test/ruby/test_string.rb: add test git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42847 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h: add RSTRING_FSTR flagcharliesome2013-09-051-0/+6
| | | | | | | | | | | | * internal.h: add rb_fstring() prototype * parse.y (str_suffix_gen): deduplicate frozen string literals * string.c (rb_fstring): deduplicate frozen string literals * string.c (rb_str_free): delete fstrings from frozen_strings table when they are GC'd * string.c (Init_String): initialize frozen_strings table * test/ruby/test_string.rb: test frozen strings are deduplicated git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * bignum.c (GMP_DIV_DIGITS): New macro.akr2013-09-041-0/+3
| | | | | | | | | | | | | | (bary_divmod_gmp): New function. (rb_big_divrem_gmp): Ditto. (bary_divmod_branch): Ditto. (bary_divmod): Use bary_divmod_branch. (bigdivrem): Ditto. * internal.h (rb_big_divrem_gmp): Declared. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * enc/trans/utf8_mac-tbl.rb: fix r42789.naruse2013-09-041-4/+6
| | | | | | Fix conversion table and logic. [ruby-dev:47680] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42823 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c: fix for \Knobu2013-09-041-0/+6
| | | | | | | | | * string.c (str_gsub): use BEG(0) for whole matched position not return value from rb_reg_search(), for \K matching. [ruby-dev:47694] [Bug #8856] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42820 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_rubyoptions.rb: ignore trivial differencesnobu2013-09-041-1/+1
| | | | | | | | * test/ruby/test_rubyoptions.rb (ExpectedStderr): ignore trivial differences, not worth to break the tests. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix a typo.akr2013-09-031-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42812 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * eval.c (Init_eval): Make Module#include and Module#prepend publica_matsuda2013-09-031-0/+12
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_rubyoptions.rbusa2013-09-031-1/+1
| | | | | | | | (TestRubyOptions::SEGVTest::ExpectedStderr): the URL was changed at r42800. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * process.c (rb_clock_gettime): Support times() based monotonic clock.akr2013-09-031-0/+22
| | | | | | | | (rb_clock_getres): Ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Retain behavior of Numeric#step when nil is given as second argument.knu2013-09-022-2/+5
| | | | | | | | | | | | | * numeric.c (NUM_STEP_SCAN_ARGS): On sencond thought, keep Numeral#step backward compatible in that it raises TypeError when nil is given as second argument. * test/ruby/test_float.rb (TestFloat#test_num2dbl): Revert. * test/ruby/test_numeric.rb (TestNumeric#test_step): Fix test cases for the above change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42788 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix and add tests for Numeric#step.knu2013-09-022-3/+10
| | | | | | | | | | * test/ruby/test_float.rb (TestFloat#test_num2dbl): Allow nil as step, as with the keyword argument. * test/ruby/test_numeric.rb (TestNumeric#test_step): Add tests for nil as step or limit. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42786 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * vm_insnhelper.c (vm_search_super_method): use ci->argc instead ofko12013-09-021-0/+23
| | | | | | | | | | | ci->orig_argc. ci->argc can be changed by splat arguments. [ruby-list:49575] This fix should be applied to Ruby 2.0.0 seriese. * test/ruby/test_super.rb: add a test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Enhance Numeric#step.knu2013-09-021-32/+55
| | | | | | | | | | | * numeric.c (num_step): Default the limit argument to infinity and allow it to be omitted. Keyword arguments (by: and to:) are introduced for ease of use. [Feature #8838] [ruby-dev:47662] [ruby-dev:42194] * numeric.c (num_step): Optimize for infinite loop. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_string.rb: yet another testnobu2013-09-021-0/+11
| | | | | | | * test/ruby/test_string.rb (TestString#test_frozen_string_adjacent): option is allowed after the last string. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42780 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y: valid suffix word onlynobu2013-09-021-2/+5
| | | | | | | * parse.y (parser_str_options): use valid suffix word only, as well as numeric literal, for the backward comatibility. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42779 b2dd03c8-39d4-4d8f-98ff-823fe69b080e