Граф коммитов

7461 Коммитов

Автор SHA1 Сообщение Дата
nobu 8771d1a0fc vm.c: precedence of duplicated keys
* vm.c (kwmerge_i): override existing keys by new keys.
  [ruby-core:65368] [Bug #10315]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-11 04:46:56 +00:00
nobu 1571682719 parse.y: precedence of duplicated keys
* parse.y (assocs): concatenate splatted literal hashes.  the
  former key has precedence even if duplicated literal keys
  follow.  [ruby-core:65368] [Bug #10315]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-11 04:46:42 +00:00
normal 9559b04e3d open-uri: accept :open_timeout option
* lib/open-uri.rb (OpenURI::Options): add :open_timeout default
* (def OpenURI.open_http): check :open_timeout option
* (module OpenURI): rdoc for :open_timeout
* test/open-uri/test_open-uri.rb (test_open_timeout): new test
  [Feature #10361]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-10 19:15:56 +00:00
normal f8b219e4d6 st: test packed-to-unpacked transitions during iteration
The st_foreach and st_foreach_check functions support transitioning
from a packed to an unpacked state during iteration.  However, this
functionality did not get exercised by the current test suite until
now.  This should help us prevent breakage when making modifications
to st.

* ext/-test-/st/foreach/extconf.rb: new file
* ext/-test-/st/foreach/foreach.c: ditto
* test/-ext-/st/test_foreach.rb: ditto
  [Feature #10321]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-09 07:16:19 +00:00
hsbt 34b1a9913a * test/ruby/test_syntax.rb: added syntax tests of underscore arguments.
[Feature #10340][ruby-core:65496]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-08 07:36:52 +00:00
marcandre a2ae7bccf8 * lib/matrix.rb: Add @- and @+ for Matrix and Vector.
patch by gogo tanaka [#10068] [#10069]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-07 20:18:35 +00:00
normal 9bb7dfa247 normalize reference to Timeout::Error
From: John Bachir <j@jjb.cc>

* bootstraptest/test_io.rb (assert_finish):
  normalize rescue for Timeout::Error
* lib/net/ftp.rb (Net#read_timeout): ditto for doc
* lib/resolv.rb (Resolv::ResolvTimeout): ditto for subclass
* lib/webrick/httprequest.rb (_read_data): ditto for rescue
* sample/timeout.rb (p timeout): ditto for call
* test/drb/drbtest.rb (test_06_timeout): ditto
* test/ruby/test_readpartial.rb (test_open_pipe): ditto
* test/thread/test_queue.rb (test_queue_thread_raise): ditto
* thread.c (rb_thread_s_handle_interrupt): ditto for doc
  [ruby-core:65481] [misc #10339]

TimeoutError is a legacy constant, Timeout::Error is the canonical constant.
This patch normalizes all code and comments to reference Timeout::Error.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-07 20:00:09 +00:00
odaira 554577015f test/ruby/test_process.rb (TestProcess#test_setsid): AIX does not allow Process::getsid(pid) when pid is in a different session
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47837 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-07 19:40:13 +00:00
odaira 185c85b26e test/ruby/test_rubyoptions.rb (TestRubyOptions#test_encoding): On AIX, locale_charmap is ISO-8859-1 with LANG=C. This means the source encoding of stdin is ISO-8859-1, so "invalid multibyte char" error does not occur
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47836 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-07 19:33:48 +00:00
marcandre 56d5728589 * lib/matrix.rb: Add Matrix#laplace_expansion.
patch by gogo tanaka [#10073]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-07 19:30:48 +00:00
marcandre eb9c3e7120 * lib/matrix.rb: Add Vector.basis.
Based on patch by gogo tanaka [#10072]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-07 19:29:53 +00:00
nobu 2ebafed88a signal.c: get rid of deadlock by discarded signals
* signal.c (rb_f_kill): get rid of deadlock as unhandled and
  discarded signals do not make interrupt_cond signaled.
  based on the patch by Kazuki Tsujimoto at [ruby-dev:48606].
  [Bug #9820]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-07 14:40:16 +00:00
nobu 998befe8e6 signal.c: send signal unless handled
* signal.c (rb_f_kill): should not ignore signal unless the
  default handler is registered.  [ruby-dev:48592] [Bug #9820]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47818 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-06 07:23:06 +00:00
nobu 559154310f test_string.rb: enable huge test only on possible platforms
* test/ruby/test_string.rb (test_LSHIFT_neary_long_max): enable
  only on platforms where string size range is smaller than memory
  space.  this test does not make sense but just wastes memory and
  time on other platforms, as it is hardly possible that a string
  size becomes neary LONG_MAX if long size equals pointer size.
  [ruby-core:65410] [Bug #10325]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-06 07:06:49 +00:00
nobu 27ce2d1328 test_gem_source_git.rb: drop intended error message
* test/rubygems/test_gem_source_git.rb (test_rev_parse): dispose
  error message by git, which should be intended.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-04 12:31:34 +00:00
odaira 11ad7c4dbe test/test_syslog.rb (TestSyslog#test_log): In AIX, each output line of LOG_PERROR to stderr has an additional empty line appended, so skip that line.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47786 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-04 07:35:43 +00:00
odaira bebb4e9dea test/socket/test_unix.rb (TestSocket_UNIXSocket#test_too_long_path): sockaddr_un.sun_path in AIX is defined as char[1024], so "a" * 300 is not too long. "a" * 3000 would be enough.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47785 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-04 07:11:54 +00:00
hsbt 5207d9f158 * test/ruby/test_io.rb (TestIO#test_advise): avoid to infinite loop.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47773 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-03 12:02:49 +00:00
hsbt 66b6179ec1 * test/ruby/test_io.rb (TestIO#test_advise): added workaround of fadvise(2)
with tmpfs and old linux kernel. [ruby-core:65355][Bug #10313]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47771 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-03 09:52:21 +00:00
marcandre 5b46b07bf3 * lib/matrix.rb: Add hstack & vstack methods.
Based on a patch by creasywuqiong. [Fix GH-344]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-03 03:44:20 +00:00
marcandre f59098d118 * lib/matrix.rb: Fix Matrix.rows copy bug.
Patch by Arron Mabrey. [Fix GH-707]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47768 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-03 03:38:06 +00:00
akr fe18cd011c test_advice show OS and filesystem when failed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47763 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-02 08:57:44 +00:00
akr 7b25bd8ba2 * ext/etc/etc.c (etc_nprocessors): New method.
Accepted by matz at RubyKaigi 2014.
  [ruby-core:65142] [Feature #10267]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-02 03:23:26 +00:00
odaira f17b95f21c test/fileutils/test_fileutils.rb: AIX does not allow a sticky bit on a regular file.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47752 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-01 08:48:17 +00:00
drbrain cec4f5a9e0 * lib/rubygems: Update to RubyGems 2.4.2.
* test/rubygems:  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-01 08:30:21 +00:00
nobu ffe920d674 parse.y: separate ripper data type
* parse.y (parser_data_type): separate ripper data type for from
  parser.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47747 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-30 13:25:28 +00:00
glass a4645e5612 * lib/uri/rfc3986_parser.rb: raise URI::InvalidURIError when
uri doesn't respond to #to_str. [ruby-core:64453] [Bug #10150]

* test/uri/test_parser.rb: test for above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-27 03:13:22 +00:00
nobu 15ae462d8b digest.c: typed data
* ext/digest/digest.c (rb_digest_base_alloc): use typed data.

* ext/digest/digest.c (rb_digest_base_copy): fail unless original
  object has same algorithm.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-27 01:30:16 +00:00
nobu 2a8989d71c stringio.c: ASCII-8BIT StringIO rejects no encodings
* ext/stringio/stringio.c (strio_write): ASCII-8BIT StringIO
  should be writable any encoding strings, without conversion.
  [ruby-core:65240] [Bug #10285]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-26 03:52:37 +00:00
normal 0ef94bd2af object.c (rb_class_real): do not dereference 0 VALUE
* test/ruby/test_module.rb (test_inspect_segfault):
  Test case and bug report by Thomas Stratmann.
  [ruby-core:65214] [Bug #10282]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-25 20:29:15 +00:00
nobu 08248c937c parse.y: label cannot be followed by a modifier
* parse.y (parse_ident): just after a label, new expression should
  start, cannot be a modifier.  [ruby-core:65211] [Bug #10279]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-23 13:00:27 +00:00
akr 13b74c9cc6 Fix a typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-22 23:29:15 +00:00
suke afe1bbeb4e test/win32ole/test_win32ole_variant.rb
(test_conversion_time2date_with_msec): test by using only
assert_in_delta  to avoid to fail when converting Time object with
999999999 nanoseconds into VT_DATE Variant.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47686 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-22 11:01:22 +00:00
nobu c29b274b2a test_thread.rb: thread for Queue
* test/ruby/test_thread.rb (test_main_thread_status_at_exit):
  require 'thread' for Queue.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47682 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-22 07:38:33 +00:00
akr 565fef8210 * test/ruby/test_time_tz.rb: Fix test error with tzdata-2014g.
[ruby-core:65058] [Bug #10245] Reported by Vit Ondruch.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-22 03:12:23 +00:00
glass 5697b2f013 * time.c: raise exception when minutes of utc_offset is out of 00-59.
patch is from Kenichi Kamiya.
  [ruby-dev:47539] [Bug #8679]

* test/ruby/test_time.rb: test for above.
  patch is from Kenichi Kamiya.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-21 16:58:47 +00:00
nobu e8bd56f5c3 signal.c: SIGEXIT is not a system signal
* signal.c (trap): SIGEXIT is not a system signal and is dealt
  with internally, so it should not try to register the system
  signal handler by sigaction.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-21 05:10:14 +00:00
akr c7b2577178 (test_main_thread_status_at_exit) wait until the thread enter the begin clause.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47668 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-21 04:55:49 +00:00
nobu 84b90070c6 test_signal.rb: remove stale test
* test/ruby/test_signal.rb (TestSignal#test_trap_system_default):
  remove stale test.  signals are delivered to the main thread
  always now, so sleep in sub thread is no longer interrupted.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47665 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-21 03:31:46 +00:00
suke 8bb93fc8ae ext/win32ole/win32ole.c (rbtime2vtdate, vtdate2rbtime): fix
the bug in conversion of milliseconds. [Bug #10258]

test/win32ole/test_win32ole_variant.rb
(test_conversion_dbl2date_with_msec,
test_conversion_time2date_with_msec): use assert_in_delta instead
of assert_equal to treat an acceptable error range.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-21 02:18:37 +00:00
nobu e41fde8b77 signal.c: EINVAL is a failure
* signal.c (ruby_signal): although "EINVAL from sigaction(2) is
  not a bug", but even it is a failure.  pointed at toRuby/guRuby
  in RubyHiroba.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-21 02:03:34 +00:00
nobu a718be06fa tempfile.rb: fix r47655
* lib/tempfile.rb (Tempfile#initialize, Tempfile.create): get rid of
  shadowing local variables.

* lib/tmpdir.rb (Dir::Tmpname#make_tmpname): simlify argument
  splitting.

* test/test_tempfile.rb: need thread library for ConditionVariable.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-21 01:40:21 +00:00
akr cc659d2f1b * enum.c (enum_slice_when): New method: Enumerable#slice_when.
(slicewhen_i): New function.
  (slicewhen_ii): New function.

* enumerator.c (InitVM_Enumerator): New method:
  Enumerator::Lazy#slice_when.

  [ruby-core:62499] [Feature #9826]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-20 06:52:29 +00:00
hsbt c0debb96b6 * .travis.yml: added new configurations for osx on travis ci.
[fix GH-723]
* test/ruby/test_object.rb: tweaked to memory leak limit for osx build.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-20 02:55:27 +00:00
nobu b0c03f63e5 parse.y: quoted ID key
* parse.y (assoc): allow quoted ID as a key of a hash literal.
  [ruby-core:34453] [Feature #4276]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47649 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-20 01:48:43 +00:00
nobu 7190c04417 compile.c: store IDs as Symbols
* compile.c (iseq_set_arguments): store local variable IDs in
  temporary list as Symbols.  previously these are stored as
  Fixnums to prevent from GC, but IDs of dynamic symbols can
  exceed Fixnum range and cause RangeError at inverting from
  Fixnum.  [ruby-dev:48564] [Bug #10266]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-20 01:23:02 +00:00
nobu fee7d48517 vm_eval.c: fix super from eval with scope
* vm_eval.c (eval_string_with_cref): fix super from eval with
  scope.  set klass in the current control frame to the class of
  the receiver in the context to be evaluated, this class/module
  must match the actual receiver to call super.
  [ruby-core:65122] [Bug #10263]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-19 22:55:59 +00:00
nobu ac3c851bde symbol.c: fix dynamic attrset ID
* symbol.c (rb_str_dynamic_intern): check if the stem ID of
  attrset ID is already registered as a static ID.
  [ruby-dev:48559] [Bug #10259]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-19 11:06:04 +00:00
nobu 5cd2d58396 test_math.rb: use Float#infinite?
* test/ruby/test_math.rb (TestMath#assert_infinity): Float#finite?
  returns true also for NaN, so use Float#infinite? instead.
  [ruby-core:65117] [Feature #10261]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-19 01:47:06 +00:00
nobu 8b9afe6520 error.c: preserve encoding
* error.c (rb_error_frozen_object): preserve encoding of class
  name in error message.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-19 01:46:42 +00:00