Commit graph

8884 commits

Author SHA1 Message Date
nobu
f77967ad73 test_filehandler.rb: fix UNC path failure
* test/webrick/test_filehandler.rb (test_short_filename): pass
  document root path to cmd.exe instead of chdir there, as cmd.exe
  does not start on UNC path.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-14 04:55:13 +00:00
nobu
1c4fe8df9f webrick/test_utils.rb: no timeout during assertion
* test/webrick/test_utils.rb (assert_expired): separate negated
  assertion and block timeout excecptions.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51237 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-14 04:55:03 +00:00
nobu
7d909eb218 webrick/utils.rb: wakeup immediately
* lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler#register):
  notify the handler thread of new timeout registration.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-14 02:22:51 +00:00
nobu
18d47904a4 test_utils.rb: split
* test/webrick/test_utils.rb (TestWEBrickUtils#do_tet_timeout):
  split into tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-14 02:20:34 +00:00
nobu
77cde58d39 webrick/server.rb: stop immediately
* lib/webrick/server.rb (WEBrick::GenericServer#start): flush
  shutdown pipe.
* lib/webrick/server.rb (WEBrick::GenericServer#stop): request the
  server to stop immediately by sending data via shutdown pipe.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-14 02:20:16 +00:00
nobu
beb1c085d5 use Timeout.timeout
* time: Object#timeout has been deprecated a long time ago, use
  Timeout.timeout.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-13 10:07:01 +00:00
nobu
a3d6de4adc Simple testing for StringIO#sysread
* test/stringio/test_stringio.rb (test_sysread): add a test for
  StringIO#sysread.  [Fix GH-966]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-11 21:42:27 +00:00
nobu
8d7058db47 test_timeout.rb: add an assertion
* test/test_timeout.rb (test_custom_exception): assert that the
  given exception will raise on timeout.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-10 23:47:55 +00:00
nobu
0f663b2449 timeout.rb: removed and use Timeout::Error
* lib/timeout.rb (ExitException): removed internal exception class
  and use Timeout::Error instead, as using throw/catch to isolate
  each timeouts now.  [ruby-dev:49179] [Bug #11344]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-10 13:05:53 +00:00
nobu
3e972a116f test_process.rb: test for [Bug #11340]
* test/ruby/test_process.rb (test_wait_exception): test for r51202
  and r51203.  [Bug #11340]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-09 07:54:56 +00:00
nobu
39051ba1b9 leakchecker.rb: close console
* test/lib/leakchecker.rb (LeakChecker#find_fds): close console
  before find open FDs for each time.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51195 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-08 11:35:59 +00:00
normal
011347e4d7 iseq.c (iseq_data_to_ary): dump kw_arg as symbol
Fix RubyVM::InstructionSequence#to_a after r49517
Keywords were made symbols to fix [Bug #10831] [ruby-core:68031],
so we should dump symbols as-is instead of attempting to convert
them from IDs

* iseq.c (iseq_data_to_ary): dump kw_arg as symbol
* test/-ext-/iseq_load/test_iseq_load.rb: test kw_arg roundtrip
  [ruby-core:69891] [Bug #11338]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51190 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-07 19:50:49 +00:00
usa
fe94eaa5ae * test/ruby/test_method.rb (TestMethod#test_{instance,define}_method): assumed
default external is UTF-8.  fixed failures introduced at r51175.

* test/-ext-/symbol/test_type.rb
  (Test_Symbol::TestType#test_check_{id,symbol}_invalid_type): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-07 15:57:12 +00:00
usa
d4397258e4 * test/ruby/test_array.rb
(TestArray#test_short_heap_array_sort_bang_memory_leak): seems to need more
  margin.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51187 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-07 15:41:57 +00:00
nobu
8a0ab36db1 file.c: skip invalid byte
* file.c (rb_str_normalize_ospath): skip invalid byte sequence not
  to loop infinitely.  this case usually does not happen as the
  input name should come from real file systems.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-07 06:02:21 +00:00
nobu
c53464c7e9 symbol.c: preserve encoding
* symbol.c (rb_check_id, rb_check_symbol): preserve encoding of
  the given name.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-07 03:49:14 +00:00
normal
bbf7495fe2 string.c: ensure String#freeze resizes internal buffer
rb_str_freeze may resize oversized buffers to save memory, so favor
it over rb_obj_freeze.  This is useful because IO methods do not
prematurely shrink buffers, as they are likely to be overwritten
with full data.

* string.c (Init_String): use rb_str_freeze for String#freeze

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51170 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-06 19:45:02 +00:00
ko1
02d5868962 * vm_core.h: remove rb_iseq_t::klass to reduce dynamic data.
* internal.h, iseq.c (rb_iseq_klass): remove it because
  rb_iseq_t::klass is removed.
* vm_insnhelper.c (vm_super_outside): do not see cfp->iseq, but
  check callable method entry on a frame.
  This fix simplify the logic to search super class.
* test/ruby/test_method.rb: support super() from Proc.
  Now, [Bug #4881] and [Bug #3136] was solved.
* proc.c (rb_mod_define_method): catch up this change.
* vm.c (vm_define_method): ditto.
* vm_backtrace.c (rb_profile_frames): now, each `frame' objects
  are rb_callable_method_entry_t data or iseq VALUEs.
  This fix introduce minor compatibility issue that
  rb_profile_frame_label() always returns
  rb_profile_frame_base_label().
* test/-ext-/debug/test_profile_frames.rb: catch up this change.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51166 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-06 18:44:54 +00:00
usa
73c0f4f754 * test/ruby/test_array.rb
(TestArray#test_short_heap_array_sort_bang_memory_leak): relax the threshold
  to get rid of a false positive failure of mswin CI.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-06 16:49:01 +00:00
ko1
c8854d2ca4 * vm_insnhelper.c (vm_search_super_method): do not skip calling
same methods in super.
  [Bug #3351]
* test/ruby/test_super.rb: fix a test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51161 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-06 09:02:34 +00:00
hsbt
4d419a54f3 * test/lib/memory_status.rb: removed redundant path.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51158 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-06 08:27:41 +00:00
nobu
87954dd8a0 fix multiple load
* 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
2015-07-05 23:03:21 +00:00
normal
77eea6f940 test/ruby/test_array.rb: longer timeout for memory leak test
This was causing CI failures on ko1's test box

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-05 20:55:36 +00:00
nobu
ecb6ea2a34 parallel.rb: upper directory
* 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
2015-07-05 16:18:14 +00:00
nobu
46062034a0 test_process.rb: reap pid
* 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
2015-07-05 02:03:11 +00:00
nobu
481292190f array.c: fix memory leak
* 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
2015-07-05 01:51:51 +00:00
normal
033e8e5b61 test/ruby/test_process.rb: test for fd=3 usability in child
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
2015-07-05 00:40:14 +00:00
nobu
39be41cb21 all?, any?, one?, none? of empty Enumerable
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51142 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-04 11:54:04 +00:00
hsbt
aebf152ea4 * Add test case for empty array and first method with args.
Patch by @yui-knk [fix GH-955]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-04 10:43:38 +00:00
hsbt
a894e920aa * Add test for Enumerable#sort with block. Patch by @yui-knk
[fix GH-954]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51140 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-04 10:39:17 +00:00
nobu
e0ec0c7dc4 transcode.c: empty encoding name
* transcode.c (rb_econv_set_replacement): target encoding name can
  be empty now.  [ruby-core:69841] [Bug #11324]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51116 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-03 03:25:21 +00:00
nobu
0ec5a272f1 revert r51101
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-02 04:56:36 +00:00
nobu
0ad76e651b skip test_dash_i_beats_gems
* 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
2015-07-02 03:32:03 +00:00
nobu
21a55e350d test_gem_server.rb: Don't specify port number
* 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
2015-07-02 03:26:14 +00:00
usa
ad0c146668 * test/rubygems/test_gem_specification.rb: skip tests which the
platform does not permit the filename of its test file.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51099 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-02 03:00:23 +00:00
nobu
f7124a2ca3 fix redefinitions
* 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
2015-07-02 02:36:23 +00:00
hsbt
effdbf5936 * lib/rubygems: Update to RubyGems HEAD(c202db2).
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
2015-07-01 21:50:14 +00:00
kazu
9c4ef4b191 fix a failure without zlib
* test/net/http/test_httpresponse.rb
(HTTPResponseTest#test_read_body_content_encoding_deflate_uppercase):
fix failure without zlib.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51091 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-01 14:52:05 +00:00
nobu
c0e2f9278e test_object.rb: use assert_separately
* 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
2015-07-01 08:17:37 +00:00
hsbt
8430f93b8f * Add test for Enumerable#none? [fix GH-950] Patch by @yui-knk
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-01 01:55:03 +00:00
nobu
93446fedd3 io.c: reopen OS encoding path
* 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
2015-06-30 08:28:28 +00:00
nobu
c810ab8ff5 test_io.rb: skip method definitions
* test/ruby/{test_io,test_io_m17n}.rb: skip method definitions on
  unsupported platforms.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-30 07:48:24 +00:00
normal
af9e072c7e io.c: reopen stdio streams correctly when given "w+"
* io.c (rb_io_oflags_modestr): handle O_TRUNC correctly
* test/ruby/test_io.rb (test_reopen_stdio): new test

Patch-by: cremno phobia <cremno@mail.ru>

[ruby-core:69779] [Bug #11319]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51066 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-29 23:24:56 +00:00
naruse
84de36c748 * lib/net/http/response.rb (inflater): CONTENT_ENCODING can be upper
case. [ruby-core:69670] [Bug #11285] patched by Andy Chu

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51061 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-29 07:14:31 +00:00
nobu
548b97e70c insns.def: preserve encoding
* 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
2015-06-28 17:10:26 +00:00
nobu
b90a5f9334 insns.def: preserve encoding
* 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
2015-06-28 17:10:00 +00:00
nobu
491ace2dbe insns.def: preserve encoding
* 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
2015-06-28 17:06:59 +00:00
nobu
fe994a4d04 test_redefinition_mismatch
* test/ruby/test_{class,module}.rb (test_redefinition_mismatch):
  add tests of redefinition mismatch.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-28 16:35:58 +00:00
nobu
da70f4d02a class.c: preserve encoding
* 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
2015-06-28 03:28:50 +00:00
nobu
a13ab237c7 class.c: TypeError when superclass mismatch
* 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
2015-06-28 03:07:37 +00:00