6718 Commits

Author SHA1 Message Date
nobu
aef778b4e7 test_rinda.rb: hungup investigation
* test/rinda/test_rinda.rb (with_timeout, wait_for): extract to
  investigate test_do_reply_local too.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44636 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-18 09:38:22 +00:00
nobu
43d52687ba test_rinda.rb: hungup investigation
* test/rinda/test_rinda.rb (test_do_reply): abort on exception to
  investigate sporadic hungups on rubyci.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44632 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-18 02:38:40 +00:00
nobu
bcaec55695 delegate.rb: keep special methods
* lib/delegate.rb (Delegator): keep source information methods
  which start and end with '__'.  [ruby-core:58572] [Bug #9155]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-17 11:05:03 +00:00
nobu
5c92de87b4 eval.c: singleton class constants
* eval.c (rb_mod_s_constants): return its own constants for other
  than Module itself.  [ruby-core:59763] [Bug #9413]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44628 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-17 08:58:05 +00:00
nobu
2c3522c3e4 test_thread.rb: stop at once
* test/ruby/test_thread.rb (test_priority): stop both threads at
  once by a flag.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44627 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-16 06:34:47 +00:00
nobu
e9bb3b9d30 test_rinda.rb: timeout all thread
* test/rinda/test_rinda.rb (test_do_reply): stop all threads and
  show backtraces.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44626 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-16 05:54:33 +00:00
nobu
460f55945a test_rinda.rb: timeout
* test/rinda/test_rinda.rb (test_do_reply): stop if blocking
  including TupleSpace#write and RingServer#do_reply.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44623 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-15 23:18:59 +00:00
nobu
2e8cb7e5d3 test_rinda.rb: sleep to timeout
* test/rinda/test_rinda.rb (test_do_reply): sleep instead of busy loop.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44622 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-15 23:18:58 +00:00
nobu
c804e6217c test_gc.rb: relax assertion
* test/ruby/test_gc.rb (test_profiler_total_time): GC time may be
  shorter than the timer resolution.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44619 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-15 14:36:51 +00:00
nobu
82ab2d6d6a test_numeric.rb: default_external
* test/ruby/test_numeric.rb (test_coerce): manage
  Encoding.default_external.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-15 09:52:23 +00:00
naruse
251de3209b add timeout to test_do_reply
http://fb64b.rubyci.org/~chkbuild/ruby-trunk/log/20140115T073301Z.log.html.gz

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-15 08:26:52 +00:00
nobu
eb6575e137 numeric.c: preserve encoding
* numeric.c (num_init_copy): preserve encoding of error message.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44613 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-15 08:16:42 +00:00
nobu
c1b4b10a12 numeric.c: preserve encoding
* numeric.c (num_sadded): preserve encoding of error message.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44612 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-15 08:16:40 +00:00
nobu
2c65cdd319 numeric.c: preserve encoding
* numeric.c (coerce_failed): preserve encoding of error message.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44610 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-15 08:16:37 +00:00
nobu
5f3e675bdf test_numeric.rb: coercion failures
* test/ruby/test_numeric.rb (test_coerce): new assertions for
  failure of coercion.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44609 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-15 08:16:34 +00:00
nobu
6951fbca43 string.c: respect BOM
* string.c (get_encoding): respect BOM on pseudo encodings.
  [ruby-dev:47895] [Bug #9415]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44606 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-15 05:04:36 +00:00
nobu
77ae7b2e83 string.c: use actual encodings
* string.c (get_actual_encoding): get actual encoding according to
  the BOM if exists.
* string.c (rb_str_inspect): use according encoding, instead of
  pseudo encodings, UTF-{16,32}.  [ruby-core:59757] [Bug #8940]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-15 05:03:49 +00:00
nobu
de6d422655 test_m17n.rb: split tests for inspect
* test/ruby/test_m17n.rb (test_utf_16_32_inspect): split tests for
  each encodings.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44604 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-15 05:03:24 +00:00
naruse
622db848ce same as r44598
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44600 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-15 01:46:03 +00:00
naruse
d1bbd80d93 same as r44597
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44599 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-15 01:43:29 +00:00
naruse
c9c6e3ef39 /usr/lib/libc.so is not symlink on FreeBSD 10
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-15 01:25:28 +00:00
glass
79e69ec715 * ext/thread/thread.c (rb_szqueue_clear): notify SZQUEUE_WAITERS
on SizedQueue#clear. [ruby-core:59462] [Bug #9342]

* test/thread/test_queue.rb: add test. the patch is from
  Justin Collins.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44595 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-14 12:14:48 +00:00
mrkn
e7fe5648cf * ext/bigdecimal/bigdecimal.c (BigDecimal_divide): Add an additional
digit for the quotient to be compatible with bigdecimal 1.2.1 and
  the former.  [ruby-core:59365] [#9316] [#9305]

* test/bigdecimal/test_bigdecimal.rb: tests for the above change.

* ext/bigdecimal/bigdecimal.gemspec: bigdecimal version 1.2.4.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44588 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-13 17:29:58 +00:00
charliesome
64926db998 * ext/thread/thread.c (rb_szqueue_push): check GET_SZQUEUE_WAITERS
instead of GET_QUEUE_WAITERS to prevent deadlock. Patch by Eric Wong.
  [Bug #9302] [ruby-core:59324]

* test/thread/test_queue.rb: add test

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44583 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-13 03:18:38 +00:00
nobu
89a3450a55 test_bigmath.rb: ignore on unrelated platforms
* test/bigdecimal/test_bigmath.rb (test_log): ignore the result of log
  which is not a finite number.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-12 08:20:39 +00:00
nobu
0e9cad9a8e test_bigmath.rb: r44558
* test/bigdecimal/test_bigmath.rb (test_log): add assertion for r44558.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-11 10:26:07 +00:00
nobu
1367f28a49 test_bigmath.rb: test_log
* test/bigdecimal/test_bigmath.rb (test_log): add basic test for BigMath.log.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44560 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-11 10:26:05 +00:00
nobu
b89a88f043 test_weakref.rb: find collected weakref
* test/test_weakref.rb (test_recycled): retry and find a WeakRef
  whose the target is collected, to fix circumstance dependent.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44555 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-10 09:42:31 +00:00
nobu
95779deac7 test_super.rb: remove unneeded code
* test/ruby/test_super.rb (test_missing_super_in_module_unbound_method):
  binding target does not need extending.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-10 08:40:37 +00:00
tmm1
58f800a278 insns.def: add opt path for Hash#[] and Hash#[]= used with str literal keys
* insns.def (opt_aref_with): new instruction to optimize Hash#[],
  removing any allocation overhead when used with a string literal
  key. Patch by normalperson (Eric Wong). [ruby-core:59640] [Bug #9382]
* insns.def (opt_aset_with): new instruction to optimize Hash#[]=
* compile.c (iseq_compile_each): compiler shortcuts for new
  instructions
* hash.c (static VALUE rb_hash_compare_by_id_p): fix documentation for
  Hash#compare_by_identity to reflect frozen string sharing
* test/ruby/test_hash.rb (class TestHash): test for new behavior

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-10 04:54:08 +00:00
ko1
c2e72fb343 * vm.c (rb_vm_pop_cfunc_frame): added. It cares c_return event.
The patch base by drkaes (Stefan Kaes).
  [Bug #9321]
* variable.c (rb_mod_const_missing): use rb_vm_pop_cfunc_frame()
  instead of rb_frame_pop().
* vm_eval.c (raise_method_missing): ditto.
* vm_eval.c (rb_iterate): ditto.
* internal.h (rb_vm_pop_cfunc_frame): add decl.
* test/ruby/test_settracefunc.rb: add tests.
  provided by drkaes (Stefan Kaes).
* vm.c, eval.c, include/ruby/intern.h (rb_frame_pop):
  move definition of rb_frame_pop() and deprecate it.
  It doesn't care about `return' events.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44535 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-09 10:12:59 +00:00
tenderlove
b90076e85c * ext/psych/lib/psych/visitors/yaml_tree.rb: dumping strings with
quotes should not have changed.  [ruby-core:59316] [Bug #9300]

* ext/psych/lib/psych.rb: fixed missing require.

* test/psych/test_string.rb: test

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-09 00:56:45 +00:00
tenderlove
7c6e4f8f38 * ext/psych/lib/psych/visitors/to_ruby.rb: anonymous structs
should be able to roundtrip.  Thanks @splattael!

* test/psych/test_object_references.rb: test for change

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44529 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-09 00:54:37 +00:00
nobu
5c0d17c9a2 vm_insnhelper.c: revive r44455 for bound module method
* vm_insnhelper.c (vm_search_super_method): when super called in a
  bound UnboundMethod generated from a module, no superclass is
  found since the current defined class is the module, then call
  method_missing in that case.  [ruby-core:59619] [Bug #9377]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-08 13:53:18 +00:00
nobu
ab6efa5be2 object.c: hash value from objid with salt
* hash.c (rb_objid_hash): return hash value from object ID with a
  salt, extract from rb_any_hash().
* object.c (rb_obj_hash): return same value as rb_any_hash().
  fix r44125.  [ruby-core:59638] [Bug #9381]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-08 06:55:24 +00:00
nobu
3e9e4a6a96 lib/timeout.rb: fallback to Timeout::Error
* lib/timeout.rb (Timeout::ExitException.catch): pass arguments
  for new instance.
* lib/timeout.rb (Timeout::ExitException#exception): fallback to
  Timeout::Error if couldn't throw.  [ruby-dev:47872] [Bug #9380]
* lib/timeout.rb (Timeout#timeout): initialize ExitException with
  message for the fallback case.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44523 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-08 04:12:39 +00:00
nobu
97c0aaea71 timeout.rb: fix for ExitException
* lib/timeout.rb (Timeout#timeout): should not rescue ordinarily
  raised ExitException, which should not be thrown.
* lib/timeout.rb (Timeout::ExitException.catch): set @thread only if
  it ought to be caught.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-07 03:43:08 +00:00
nobu
9f5537c5b3 timeout.rb: defer creating custom exception
* lib/timeout.rb (Timeout#timeout): when a custom exception is given,
  no instance is needed to be caught, so defer creating new instance
  until it is raised.  [ruby-core:59511] [Bug #9354]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44517 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-07 03:42:37 +00:00
nobu
765ec40120 test_timeout.rb: shorten waiting times
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-07 03:41:24 +00:00
drbrain
d5e810dbd2 * ChangeLog:
* lib/rubygems/basic_specification.rb (class Gem):
	* lib/rubygems/commands/contents_command.rb (prefix or only the files that are requir):
	* lib/rubygems/commands/install_command.rb (to write the specification by hand):
	* lib/rubygems/commands/setup_command.rb (class Gem):
	* lib/rubygems/commands/setup_command.rb (TEXT):
	* lib/rubygems/compatibility.rb (module Gem):
	* lib/rubygems/defaults.rb (module Gem):
	* lib/rubygems/deprecate.rb (module Gem):
	* lib/rubygems/installer.rb (class Gem):
	* lib/rubygems/platform.rb (class Gem):
	* lib/rubygems/rdoc.rb (class Gem):
	* lib/rubygems/request_set/lockfile.rb (class Gem):
	* lib/rubygems/resolver/installer_set.rb (class Gem):
	* lib/rubygems/resolver.rb (class Gem):
	* lib/rubygems/specification.rb (class Gem):
	* lib/rubygems/test_case.rb (class Gem):
	* lib/rubygems/test_case.rb (Also):
	* lib/rubygems/uninstaller.rb (class Gem):
	* lib/rubygems.rb (module Gem):
	* test/rubygems/test_gem.rb (class TestGem):
	* test/rubygems/test_gem_commands_contents_command.rb (lib):
	* test/rubygems/test_gem_commands_environment_command.rb (class TestGemCommandsEnvironmentCommand):
	* test/rubygems/test_gem_commands_install_command.rb (ERROR):
	* test/rubygems/test_gem_commands_update_command.rb (class TestGemCommandsUpdateCommand):
	* test/rubygems/test_gem_dependency_installer.rb (class TestGemDependencyInstaller):
	* test/rubygems/test_gem_installer.rb (load Gem):
	* test/rubygems/test_gem_installer.rb (gem):
	* test/rubygems/test_gem_request_set_lockfile.rb (GEM):
	* test/rubygems/test_gem_request_set_lockfile.rb (DEPENDENCIES):
	* test/rubygems/test_gem_specification.rb (dependencies):
	* test/rubygems/test_gem_specification.rb (duplicate dependency on b):
	* test/rubygems/test_gem_uninstaller.rb (class TestGemUninstaller):


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-07 01:19:28 +00:00
tmm1
3cf4fe47e8 array.c: return first unique element in Array#uniq
* array.c (ary_add_hash): Fix consistency issue between Array#uniq and
  Array#uniq! [Bug #9340] [ruby-core:59457]
* test/ruby/test_array.rb (class TestArray): regression test for above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-06 19:38:20 +00:00
nobu
7dfbcc85d2 test_super.rb: test_module_super_in_method_module
* test/ruby/test_super.rb (test_module_super_in_method_module): more
  test for the case searching super method from a method defined in a
  module.  [ruby-core:59589] [Bug #9315]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44510 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-06 14:34:18 +00:00
eregon
d781caaf31 * compar.c (cmp_equal): remove error hiding in Comparable#==.
Comparable#== no longer rescues exceptions silently.
  This was the cause of quite a couple bugs. See #7688. [EXPERIMENTAL]
* test/ruby/test_comparable.rb: adapt assertion to match new behavior.
* lib/rdoc/method_attr.rb: fix bugs discovered by this change.
* test/rdoc/test_rdoc_normal_class.rb: fix bugs in tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44502 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-05 11:14:59 +00:00
charliesome
306c154c2d * struct.c (rb_struct_set): return assigned value from setter method
rather than struct object. [Bug #9353] [ruby-core:59509]

* test/ruby/test_struct.rb (test_setter_method_returns_value): add test

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-04 13:44:34 +00:00
kazu
54f6b3fe82 test/ruby/test_gc.rb: use GC.stat(:key) instead of GC.stat
* test/ruby/test_gc.rb (TestGc#test_latest_gc_info): use
  GC.stat(:key) instead of GC.stat.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44500 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-04 12:47:01 +00:00
tmm1
5ac7c395c1 test/net/imap/test_imap.rb: fix test failures due to expired certs
* test/net/imap/cacert.pem: generate new CA cert, since the last one
  expired. [Bug #9341] [ruby-core:59459]
* test/net/imap/server.crt: new server cert signed with updated CA.
* test/net/imap/Makefile: add `make regen_certs` to automate this
  process.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-03 01:46:55 +00:00
nobu
e4518c5bde dbm.c: yield dup of keystr
* ext/dbm/dbm.c (fdbm_fetch): yield dup of keystr, to make it shared
  and get rid of use of uninitialized variable.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-01 18:43:13 +00:00
nobu
45379828f7 test_transcode.rb: add messages
* test/ruby/test_transcode.rb (test_valid_dummy_encoding): add
  assertion messages and suppress a warning.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-01 13:11:24 +00:00
nobu
8a46d4027c eval.c: raise with cause
* eval.c (rb_f_raise): add cause: optional keyword argument.
  [ruby-core:58610] [Feature #8257] [EXPERIMENTAL]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-31 14:49:16 +00:00
nobu
5db5677c66 encoding.c: mask dummy flags
* encoding.c (must_encindex, rb_enc_from_index, rb_obj_encoding): mask
  encoding index and ignore dummy flags.  [ruby-core:59354] [Bug #9314]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44462 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-30 09:34:19 +00:00