* test/rubygems/test_gem_commands_install_command.rb: previously
load rubygems/request_set which will be required in
rubygems/commands/install_command.rb to get rid of loading
multiple times.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/lib/test/unit/parallel.rb: make @@project_dir one level
upper as this file had moved one level deeper.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby/test_process.rb (test_exec_fd_3_redirect): should reap
the grandchild process, in common.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* array.c (rb_ary_sort_bang): the original array may not be
embedded even if a substitution array is embedded, as it is
embedded when the original array is short enough but not
embedded. [ruby-dev:49166] [Bug #11332]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51147 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Ensure we can redirect anything to fd=3 in a child process. This
test exists because fd=3 is a commonly reserved FD for a timer
thread pipe in the parent Ruby VM, but fd=3 is the first FD used by
the sd_listen_fds function for systemd.
This means there is a possibility for a bug to slip in where the
redirect to fd=3 fails to work. This test should ensure the
continued viability of systemd replacements in Ruby :>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51146 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/rubygems/test_require.rb (test_dash_i_beats_gems): skip
because the target feature just does not work. requiring a gem
inserts its paths and its dependents' paths at the beginning of
$LOAD_PATH, regardless -I options.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/rubygems/test_gem_server.rb (process_based_port): use
dynamically chosen port numberss to get rid of conflicts.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51100 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/rubygems/test_gem_resolver_git_specification.rb: require
rubygems/installer.rb before Gem::TestCase#setup runs, otherwise
as Gem::TestCase#teardown restores $LOADED_FEATURES to the state
at that time, the requiring the file in GitSpecification#install
method causes a lot of constant redefinitions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51098 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
this version contains many enhancements see http://git.io/vtNwF
* test/rubygems: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51092 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby/test_object.rb (test_redef_method_missing): use
assert_separately to catch segfaults and show the diagnostic
reports.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io.c (rb_io_reopen): freopen(3) with OS encoding path.
[ruby-core:69780] [Bug #11320]
* win32/file.c (rb_freopen): wrapper of wchar version freopen(3).
use _wfreopen_s() if available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* insns.def (defineclass): preserve encoding of name in error
messages for super class mismatch.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51055 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* insns.def (defineclass): preserve encoding of name in error
messages for non-class super.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* insns.def (defineclass): preserve encoding of name in error
messages when already defined but type mismatch.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* class.c (rb_check_inheritable): preserve encoding in an error
message when the superclass is not a class.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51050 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* class.c (rb_define_class_id_under): raise TypeError exception
same as ruby level class definition when superclass mismatch.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51048 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
when sending the port fails.
* test/net/ftp/test_ftp.rb: test for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
No need to call three functions on success when one will do.
This results in less LoC and smaller object code, too:
text data bss dec hex filename
33860 0 296 34156 856c gcc/enum.o-before
33852 0 296 34148 8564 gcc/enum.o
* enum.c (enum_minmax): simplify return value creation
* test/ruby/test_enum.rb: test behavior on empty
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51036 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/-test-/popen_deadlock/infinite_loop_dlsym.c: new ext to call
dlsym(3) infinitely without GVL, used in the above test.
* ext/-test-/popen_deadlock/extconf.rb: extconf.rb for the above
ext. Currently, only enabled on Solaris (main target) and Linux
(as a reference platform and for debugging the ext).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51030 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
NO_MEMORY_LEAK_ENVS is moved to Memory::NO_MEMORY_LEAK_ENVS
to reduce child executions during test-all on Solaris.
* test/lib/memory_status.rb (Memory::NO_MEMORY_LEAK_ENVS): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51028 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/test_prime.rb (test_eratosthenes_works_fine_after_timeout):
use assert_raise to check timeout.
* test/test_securerandom.rb: check if results are hexadecimal
strings, and refine failure messages.
* test/test_tracer.rb (test_tracer_with_option_r_without_gems):
use assert_equal to compare.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
OpenSSL::SSL::SSLSocket#sysread does not accept kwargs in blocking
mode, inform users if they make an error.
* ext/openssl/ossl_ssl.c (ossl_ssl_read_internal):
do not process kwargs in blocking mode
* test/openssl/test_ssl.rb: test sysread
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51016 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
because it has been meaningless since r36385. [Bug:11288]
* test/lib/test/unit.rb (Test::Unit::Parallel#_run_parallel): delete
lines related to the removed start_watchdog method
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50994 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
passed object is a special const, instead of SEGV.
Based patch by Kohei Suzuki (eagletmt). [ruby-core:69692] [Bug #11291]
* test/objspace/test_objspace.rb(test_dump_special_consts): Test for above fix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50982 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* proc.c (rb_mod_define_method): now requires a block direct to
this method call. [ruby-core:69655] [Bug #11283]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50971 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* proc.c (rb_mod_define_method): get rid of inadvertent ID
creations at error.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50969 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Not sure what drugs I was on, but blindly sleeping instead of
using IO#wait or IO.select to wait for data on a socket is
completely wrong.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50951 b2dd03c8-39d4-4d8f-98ff-823fe69b080e