Commit graph

43 commits

Author SHA1 Message Date
Yusuke Endoh
fbbc37dc1d test/drb/test_drb.rb: Specify the host of DRbServer
to try fixing the following error.

20210407T063004Z.log.html.gz
```
[  605/21105] DRbTests::TestDRbSSLAry#test_06_next/home/chkbuild/chkbuild/tmp/build/20210407T063004Z/ruby/lib/drb/drb.rb:1138:in `method_missing': undefined method `regist' for [1, 2, "III", 4, "five", 6]:Array (NoMethodError)
	from /home/chkbuild/chkbuild/tmp/build/20210407T063004Z/ruby/lib/drb/extserv.rb:21:in `block in initialize'
	from /home/chkbuild/chkbuild/tmp/build/20210407T063004Z/ruby/.ext/common/monitor.rb:202:in `synchronize'
	from /home/chkbuild/chkbuild/tmp/build/20210407T063004Z/ruby/.ext/common/monitor.rb:202:in `mon_synchronize'
	from /home/chkbuild/chkbuild/tmp/build/20210407T063004Z/ruby/lib/drb/extserv.rb:20:in `initialize'
	from /home/chkbuild/chkbuild/tmp/build/20210407T063004Z/ruby/test/drb/ut_array_drbssl.rb:35:in `new'
	from /home/chkbuild/chkbuild/tmp/build/20210407T063004Z/ruby/test/drb/ut_array_drbssl.rb:35:in `<main>'
 = 100.05 s
```

Here is my analysis:
The test of drb used both `druby://:0` and `druby://localhost:0` for
DRbServer. However, the former listens on IPv4, and the latter does on
IPv6, depending on environments. The port 0 is automatically assigned,
but sometimes the same port is used to both because they are different
protocols (IPv4 and IPv6). In this case, their URIs are resolved to the
completely same one (`druby://localhost:port`), which confuses the
method `DRb.here?` which determines the DRbObject is remote or local.

This changeset uses `druby://localhost:0` consistently.
2021-04-07 16:34:19 +09:00
Kazuhiro NISHIYAMA
31ba817887
Try to fix Leaked file descriptor
2274767991 (step):15:118
```
Leaked file descriptor: DRbTests::TestDRbTCP#test_immediate_close: 7 : #<TCPServer:fd 7, AF_INET, 0.0.0.0, 42451>
Leaked file descriptor: DRbTests::TestDRbTCP#test_immediate_close: 9 : #<IO:fd 9>
Leaked file descriptor: DRbTests::TestDRbTCP#test_immediate_close: 10 : #<IO:fd 10>
```
2021-04-06 16:03:20 +09:00
Yusuke Endoh
fb472ca7ad lib/drb/drb.rb: Use ruby2_keywords for keyword separation
[Bug #16634]
2020-02-15 16:27:03 +09:00
Kazuhiro NISHIYAMA
7be550d046
Stop Thread.new in DRb::TimerIdConv::TimerHolder2#on_gc
and add more stop_pool after stop_service
2019-12-10 12:43:49 +09:00
Jeremy Evans
ffd0820ab3 Deprecate taint/trust and related methods, and make the methods no-ops
This removes the related tests, and puts the related specs behind
version guards.  This affects all code in lib, including some
libraries that may want to support older versions of Ruby.
2019-11-18 01:00:25 +02:00
Jeremy Evans
d5744aff3a Fix DRbServer#any_to_s
My previous fix in d0ed935d5b was
not correct, as pointed out by cremno on GitHub.

This simplifies things by just using Kernel#to_s.  Also switch to
bind_call(obj) instead of bind(obj).call for better performance.
2019-10-16 12:51:13 -07:00
Jeremy Evans
567e312d1f Do not raise an exception on a closed DRb socket
This rescues some exceptions that could happen with a closed or
shutdown DRb socket. This can prevent the server from
exiting if an client socket is closed directly after it is
accepted.

Fixes [Bug #8039]
2019-10-16 12:51:13 -07:00
kazu
4757c7eead Run background threads while testing drb
Do not start background thread on load test/drb/drbtest.rb,
and stop threads on each test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65247 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-20 13:14:02 +00:00
kazu
310e91f505 Remove unused test files related $SAFE>=2
unused since r14024

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60143 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-09 11:20:00 +00:00
nobu
c57eb143ec test_drb.rb: removed extra spaces
* test/drb/test_drb.rb (TestDRbLarge#test_02_large_ary): removed
  unnecessary extra spaces which make the following parentheses an
  expression.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60026 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-26 00:07:41 +00:00
nobu
08e74bfa2c use dedicated assertions
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-07 13:26:12 +00:00
nobu
c2e998d6a3 additional math operations
* test/drb/ut_large.rb (multiply, avg, median): add additional
  math operations to DRbLarge.  [Fix GH-1086]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-31 03:34:21 +00:00
naruse
3e92b635fb Add frozen_string_literal: false for all files
When you change this to true, you may need to add more tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-16 05:07:31 +00:00
seki
0e84f98d0d * test/drb/test_drb.rb: Run Rinda/DRb tests on localhost. [Fix GH-1027]
patch by voxik.

	* test/rinda/test_rinda.rb: ditto



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51916 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-09-21 19:28:14 +00:00
akr
59ae4924b0 Join threads.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46315 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-02 11:34:50 +00:00
akr
5cd71131b8 * test/drb: Wrap tests definitions by DRbTests module. This makes
several tests (ACLEntryTest, TestBug4409, etc.) easier to understand
  that they are tests for DRb.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46293 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-01 03:07:58 +00:00
nobu
b0f623f5f4 drbtest.rb: DRbBase
* test/drb/drbtest.rb (DRbBase): extract from DRbCore and DRbAry for
  setup_service and teardown.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41426 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-19 07:47:38 +00:00
nobu
d059d718b5 remove trainling spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-21 04:50:18 +00:00
akr
e16e961bab * lib/drb/extservm.rb (DRb::ExtServManager): don't use /bin/sh to
invoke service subprocess.  mark detach threads for clean up.

* test/drb/drbtest.rb: clean up the service subprocess in teardown.

* test/drb/test_drb.rb: set @service_name for teardown.

* test/drb/test_drbunix.rb: ditto.

* test/drb/test_drbssl.rb: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-04-22 11:35:03 +00:00
seki
190bc7ae0e fix [Bug #4409]. add DRbServer#here?
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-27 15:18:22 +00:00
seki
b54b86d898 raise DRbConnError instead of ArgumentError if too many arguments.
[ruby-dev:41481]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28316 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-06-14 08:52:30 +00:00
akr
48d402db88 use require_relative.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26542 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-02-02 13:58:56 +00:00
nobu
287a34ae0d * {ext,lib,test}/**/*.rb: removed trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-03-06 03:56:38 +00:00
nobu
00b4a3f9c4 * test: assert_raises has been deprecated since a long time ago.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19536 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-24 17:44:39 +00:00
seki
724de18989 * lib/drb/extserv.rb (initialize, stop_service): synchronize with
ExtServManager.

	* test/drb/test_drb.rb (TestDRbEval): ignored.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-26 14:24:29 +00:00
akr
ee1029cb7f * test/drb/test_drb.rb: rename TestRubyYield to TestDRbRubyYield to
avoid name crash with test/ruby/test_yield.rb.
  TestRuby18Yield is renamed to TestDRbRuby18Yield too.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-20 03:01:49 +00:00
seki
6591e38016 merged from ruby_1_8 branch.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13975 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-19 18:30:18 +00:00
ko1
a3e1b1ce7e * Merge YARV
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-12-31 15:02:22 +00:00
seki
d822ffdc04 adhoc patch for [druby-ja:123]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8305 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-11 14:48:50 +00:00
seki
8fd62dccb2 update unittest, port from v1.8
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7986 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-16 15:30:52 +00:00
seki
2681be1eed add safe_leve, default_safe_level ([druby-ja:120])
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-02-13 15:13:54 +00:00
seki
5ef141e3e9 move TestDRbReusePort to new file [ruby-dev:25238]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-03 02:07:37 +00:00
seki
b7e70f0497 add method DRbService.ext_service
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-01-01 16:20:35 +00:00
seki
c09dc0f725 adjust and reduce sleep
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7580 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-12-16 13:38:15 +00:00
nahi
04b5228aba * test/*: remove $: trick. [ruby-dev:22763] use test/runner.rb to
run test.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5580 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-29 13:22:27 +00:00
matz
002517aba8 * parse.y (newline_node): do not use NODE_NEWLINE node anymore,
use NEWLINE flag instead.

* ext/socket/socket.c (sock_gethostbyname): returns host if
  ai_canonname is NULL. (ruby-bugs PR#1243)

* parse.y (block_append): update nd_end for "real" head node.
  [ruby-list:39058]

* marshal.c (w_class): should not dump singleton class.
  [ruby-dev:22631]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5535 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-21 16:47:23 +00:00
nobu
73d77c8f57 * lib/test/unit/assertions.rb: Modules are allowed to rescue.
* lib/test/unit/autorunner.rb: show output_level in order.

* lib/test/unit/collector/dir.rb: get rid of successive same
  directories in load path.

* test/testunit/test_assertions.rb (test_assert_nothing_raised,
  test_assert_raise): test for modules.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5276 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-24 05:08:04 +00:00
matz
1a8ccefafc * io.c (READ_DATA_BUFFERED): new macro to detect whether stdio
buffer filled.

* io.c (rb_io_fptr_cleanup): move path deallocation to
  rb_io_fptr_finalize (finalizer called by GC).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-30 09:36:41 +00:00
seki
27ce94a366 change yield2 test. [ruby-dev:21739]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4851 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-28 14:14:41 +00:00
seki
b9a216a6ef add yield test for [ruby-dev:21707]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-26 13:07:58 +00:00
nobu
f136a3225e * lib/test/unit/collector/dir.rb (Test::Unit::Collector::Dir#collect_file):
ignore tests which raised LoadError.

* test/drb/drbtest.rb, test/ruby/test_beginendblock.rb,
  test/ruby/test_system.rb: avoid requiring same file twice.

* test/drb/test_drbssl.rb, test/drb/test_drbunix.rb: should not use
  ARGV unless invoked directly.  do not create test cases unless
  required libraries are available.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4830 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-22 03:53:41 +00:00
matz
06d9340f2e * eval.c (ruby_cleanup): call finalizers and exit procs before
terminating threads.

* eval.c (ruby_cleanup): preserve ruby_errinfo before ruby_finalize_0().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-21 14:42:15 +00:00
seki
bc867112ec import drb/runit/*.rb
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-20 15:24:00 +00:00