Reading win32/win32.c waitpid implementation, maybe waitpid(-1, ...)
on that platform will never conflict with mjit use of waitpid.
In any case, I've added WAITPID_USE_SIGCHLD macro to vm_core.h
so it can be easy for Linux/BSD users to test (hopefully!)
win32-compatible code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
The change is unstable on Windows. Please re-commit it when it correctly
supports Windows.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63852 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Some tests are already skipped, but some tests are not.
So latter should be skipped too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* time.c: state that Time#localtime does nothing when nothing
changes. [ruby-core:87675] [Bug #14880]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63823 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
rubyci.org OSX CI instances seem to hang on this, but I'm not
sure why...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63799 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
With MJIT enabled, the exit (from SIGTERM) may take a long time
to complete. Prevent EnvUtil.invoke_ruby from falling back to
other signals (SIGABRT) when Process.wait takes longer than the
default 1s reprieve.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63794 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
RubyGems loading is still a bottleneck at startup and this speeds up
test/ruby/test_rubyoptions.rb test from 15s => 3.5s on the fastest
machine I have access to.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
To diagnose f.puts => EPIPE failures in CI(*). I'm not sure
what's wrong and can't reproduce EPIPE even with my slow laptop
from 2005.
(*) http://ci.rvm.jp/results/trunk_gcc5@silicon-docker/1058203
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63786 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
I'm still using the computer from 2005, so enabling MJIT makes
some tests take longer. For test_deadlock_by_signal_at_forking
I got it down to 135s to 89s by disabling RubyGems.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63774 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Test libraries under the test/lib is used with default gems in
their repositories. default gems may support old ruby like
Ruby 2.5. When default gems invoke test libraries of Ruby core
with old ruby, they raised
`uninitialized constant RubyVM::MJIT (NameError)`
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
I introduced this mechanism in r62051 to speed things up. Later it
was reported that the change causes problems. I searched for
workarounds but nothing seemed appropriate. I hereby officially
give it up. The idea to move ADD_PC around was a mistake.
Fixes [Bug #14809] and [Bug #14834].
Signed-off-by: Urabe, Shyouhei <shyouhei@ruby-lang.org>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
for CI with cppflags=-DMJIT_FORCE_ENABLE.
Since I have no idea to fix this immediately, let me skip this for now
and take a look later.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This patch will improve the result of line coverage from 91.3% to 95.0%.
[Fix GH-1899]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This change adds testcases for Response#inspect and #code_type, and
improves line coverage of lib/net/http/response.rb (91.8 % to 92.94 %).
A patch from @owlworks. https://github.com/ruby/ruby/pull/1898
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This change improves line coverage of prime.rb from 86% to 99%.
A patch from @shio-phys. https://github.com/ruby/prime/pull/3
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63735 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby/test_settracefunc.rb (test_trace_point_raising_exception_in_bmethod_call):
this test run in separate process, so #target_thread? is not defined and it doesn't
need target thread check.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm.c: use EXEC_EVENT_HOOK_AND_POP_FRAME. While exception handling, if an exception
is raised in hooks, need to pop current frame and raise this raised exception by hook.
[ruby-dev:50582] [Bug #14865]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Also, Range#min raises an error if it is endless and a comparison method
is specified.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
For systems with sleepy timer thread disabled, the signal
handler does not fire soon enough and we need to ensure the
signal is received before we check its value. So use a
self-pipe here.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
`RubyVM::AST.parse_file` was fixed to raise `SyntaxError`
by r63602. So this line is needless.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Yusuke Endoh pointed out coverage of ast module is very low. Thanks!
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* variable.c (rb_const_search): fix NameError :receiver attribute
on private constant, should raise with the included module, not
the ICLASS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby/test_process.rb gettimeofday is obsolete in SUSv4, and
may not be available in the future.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63671 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This caused a warning "conflicting chdir during another chdir block"
during "make test-all".
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Now endless range can be created by either a literal `(1..)` or explicit
range creation `Range.new(1, nil)`. [Bug #14845]
This change is intended for "early failure"; for example,
`(1..var).to_a` causes out of memory if `var` is inadvertently nil.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Because both assert_equal and assert_nil do not pass at the same time.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63639 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ast.c (node_children): fix the member for method IDs as nd_mid.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e