Age | Commit message (Collapse) | Author |
|
* enum.c (cmpint_reenter_check): extract from nmin_cmp and
nmin_block_cmp.
* enum.c (nmin_cmp): check if reentered before rb_cmpint.
[Feature #13437]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58971 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58969 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
I miscalculated for r58934, since we sleep 100ms, and
the worst possible case is 100 Hz in the kernel meaning
we only have 10ms resolution. So, we need to increase
our CPU percentage to >= 10% for this.
This should be more than enough for our CI machines which
have 300 Hz kernels [ruby-core:81429]:
http://ci.rvm.jp/results/trunk-test@sasada-8core/1495942555
* test/ruby/test_io.rb (test_copy_stream_no_busy_wait):
override default percentage
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
I'm likely to make similar mistakes in the future when working
on Fiber auto-scheduling. Start adding assertions for existing
code, first.
* test/ruby/test_io.rb (test_copy_stream_no_busy_wait): added
* test/lib/test/unit/assertions.rb (assert_cpu_usage_low): added
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58924 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58914 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* numeric.c (flo_floor, flo_ceil): should not return zero for small
number. [ruby-core:81394] [Bug #13599]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* dir.c (glob_helper): yield globbed part only without the base
directory path part if the base is given. [Feature#13056]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58901 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* test/lib/envutil.rb: introduce EnvUtil.apply_timeout_scale to use
this scale from outside.
* test/ruby/test_thread.rb (test_fork_in_thread): respect timeout scale.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* Add tests and specs. See ruby/spec#401.
Patch by Yuta Iwama and Shintaro Morikawa.
[ruby-core:80153] [Bug #13315] [Fix GH-1560]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58890 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* dir.c (dir_s_each_child, dir_s_children): Dir.each_child and
Dir.children which are similar to Dir.foreach and Dir.entries
respectively, except to exclude "." and "..". [Feature #11302]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58879 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* test/ruby/test_dir.rb (test_entries): test class singleton
method Dir.entries too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* string.c (rb_str_crypt): define LARGE_CRYPT_DATA when allocating
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58876 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* enum.c (ary_inject_op): should respect method visibility, do not
optimize uncallable method. [ruby-core:81349] [Bug #13592]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58871 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* test/ruby/test_enum.rb (test_inject_array_op_redefined): test
other operators too. [Bug#12178]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* test/ruby/test_enum.rb (assert_float_equal): remove overridden
definition.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
On Solaris 11, MSG_OOB is in readfds?
http://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable11x/ruby-trunk/log/20170523T152403Z.fail.html.gz
http://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable11s/ruby-trunk/log/20170523T152503Z.fail.html.gz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* dir.c (glob_helper): support Dir instance as `base` option.
[Feature#13056]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58860 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* test/ruby/test_dir.rb (test_glob_base): sort the globbed result
to compare.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* dir.c (dir_s_aref, dir_s_glob): add new optional keyword
argument, `base`. [Feature#13056]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58858 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* string.c: make String#{casecmp,casecmp?} return nil for
non-string arguments instead of raising a TypeError.
* test/ruby/test_string.rb: add tests.
Reported by Marcus Stollsteimer. Based on a patch by Shingo Morita.
[ruby-core:80145] [Bug #13312]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58837 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* test/ruby/test_string.rb: add more test cases for String#casecmp.
* test/ruby/test_symbol.rb: ditto for Symbol#{casecmp,casecmp?}.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58836 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* compile.c (remove_unreachable_chunk): do not eliminate chunks
followed by labels in catch-table entries.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58810 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58807 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Ensure this rarely-used feature of IO.select continues
to work properly.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58806 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Apply some part of http://www.netlib.org/fp/dtoa.c with my eyes...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* test/ruby/test_dir_m17n.rb (test_entries_compose): read in
filesystem encoding instead of default external encoding on
Windows too. these two encodings may differ on some
environments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* test/ruby/test_process.rb (test_execopts_open_chdir_m17n_path):
compare directory name in UTF-8. encoding of `Dir.pwd` is
affected by filesystem encoding.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* object.c (rb_obj_size): The #yield_self Enumerator instance
always has a #count of `1`. This provides a lazy #size of `1`
to match the count instead of `nil`. [Fix GH-1615]
Author: Shannon Skipper <shannonskipper@gmail.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58714 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* array.c (rb_ary_insert): fix the position in error message, when
it is less than -1.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* array.c (rb_ary_insert): check position to insert even if no
elements to be inserted. [ruby-core:81125] [Bug #13558]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* test/ruby/test_exception.rb (test_machine_stackoverflow_by_trace):
move from test_trace.rb and rename, to be excluded by the default.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* parse.y (symbol, dsym, parser_set_number_literal, parser_yylex):
set state to END too not only ENDARG and after a literal, so
that a left brace after it should be a primary block bound to
the literal, which causes syntax error.
[ruby-core:81037] [Bug #13547]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58641 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* parse.y (parser_yylex): set state to ENDARG after a string
literal, so that `do` after a literal should be `do_block` and
bound to the outer method, as well as a numeric/symbol literal.
[ruby-core:72482] [Bug #11873]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* test/ruby/test_syntax.rb (test_brace_after_local_variable):
another test using braces. [Bug #11873]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* variable.c (autoload_reset): use idempotent list_del_init
(autoload_sleep): moved code from rb_autoload_load
(autoload_sleep_done): cleanup for use with rb_ensure
(rb_autoload_load): ensure list delete happens in case the
thread dies during sleep
* test/ruby/bug-13526.rb: new script for separate execution
* test/ruby/test_autoload.rb (test_bug_13526): new test
[ruby-core:81016] [Bug #13526]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* numeric.c (int_round): return integer (self) instead of float
for Integer#round with positive ndigits argument, because
conversion to float introduces errors for large integers.
* numeric.c (int_floor): ditto for Integer#floor.
* numeric.c (int_ceil): ditto for Integer#ceil.
* numeric.c (int_truncate): ditto for Integer#truncate.
* test/ruby/test_integer.rb: adjust test cases and add some more.
[ruby-core:80645] [Bug #13420]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58586 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* parse.y (dedent_string): ensure that the string is modifiable,
not to set the length of shared string.
[ruby-core:80987] [Bug #13540]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* object.c (rb_obj_yield_self): new method which yields the
receiver and returns the result.
[ruby-core:46320] [Feature #6721]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58528 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* node.h (nd_line): should sign-extend. shifting `VALUE` extends
with zero bits if `sizeof(VALUE)` equals to `sizeof(int)`. the
zero bits are truncated if `sizeof(VALUE)` is bigger enough.
[ruby-core:80920] [Bug #13523]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* parse.y (set_line_body, primary): fix line number of bodystmt as
the beginning of the block. [ruby-core:79388] [Bug #13181]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Warning.warn
* load.c: send as a single string.
* error.c: expose the string formatted by rb_warning as rb_warning_string().
* test/ruby/test_exception.rb: update tests.
[ruby-core:80850] [Bug #13505]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* st.c (rb_hash_bulk_insert): new API to bulk insert entries
into a hash. Given arguments are first inserted into the
table at once, then reindexed. This is faster than inserting
things using rb_hash_aset() one by one.
This arrangement (rb_ prefixed function placed in st.c) is
unavoidable because it both touches table internal and write
barrier at once.
* internal.h: delcare the new function.
* hash.c (rb_hash_s_create): use the new function.
* vm.c (core_hash_merge): ditto.
* insns.def (newhash): ditto.
* test/ruby/test_hash.rb: more coverage on hash creation.
* test/ruby/test_literal.rb: ditto.
-----------------------------------------------------------
benchmark results:
minimum results in each 7 measurements.
Execution time (sec)
name before after
loop_whileloop2 0.136 0.137
vm2_bighash* 1.249 0.623
Speedup ratio: compare with the result of `before' (greater is better)
name after
loop_whileloop2 0.996
vm2_bighash* 2.004
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* error.c (rb_warn_m): send the arguments as a single string
concatenated with a newline, so it can be filtered easily.
[ruby-core:80875] [Feature #12944]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* test/ruby/test_trace.rb (test_trace_stackoverflow): sometimes this test
was stopped forever and killed by test process forcibly. However, this
test only checks if this code cause some critical failure such as SEGV.
So that we can add timeout for this code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* range.c (range_init): no longer hide the user exception
with a ArgumentError, just let the user exception go through.
* test/ruby/test_range.rb (test_new): add tests.
[Feature #7688]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* numeric.c (num_step_negative_p): no more error hiding.
* test/ruby/test_float.rb, test/ruby/test_numeric.rb:
follow the change. [Feature #7688]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58475 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* numeric.c (do_coerce): no more error hiding.
* test/ruby/test_numeric.rb: follow the change.
[Feature #7688]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* load.c (load_lock): print backtrace of circular require via
`Warning.warn` [ruby-core:80850] [Bug #13505]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* parse.y (new_args_tail_gen): abandon parsing arguments after
error. reported by ilsani Martino Sani (ilsani) at
https://hackerone.com/reports/221201
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* sprintf.c (rb_str_format): while `"% 2f"` and `"% 4f"` result in
`" Inf"` and `" Inf"` respectively, `"% 3f"` results in
`"Inf"` (no space).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|