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

106 Коммитов

Автор SHA1 Сообщение Дата
Takashi Kokubun 881bc2a176
Skip running a DRb test on MinGW
It hangs even after a retry
https://github.com/ruby/ruby/runs/7966439530?check_suite_focus=true

We contacted GitHub Suppport about this before, and we concluded that
the problem is on our end. Unfortunately we don't have a bandwidth to
fix this MinGW problem, so until we get to work on it, this should be
just skipped to avoid a sporadic CI timeout.
2022-08-25 11:37:39 -07:00
Jeremy Evans 89aa09afaf [ruby/rinda] Handle situations where IPv4 multicast is not available
Fixes [Bug #13864]

https://github.com/ruby/rinda/commit/3cd620f38c
2022-08-15 14:11:52 +09:00
Takashi Kokubun 0d68286be9
Revert "Try reproducing the MinGW hang on time command (#6168)"
This reverts commit bee5089d67.

Looking at https://github.com/ruby/ruby/runs/7564065637?check_suite_focus=true,
we concluded that the ruby process for test-all is stuck before exit
when this issue reproduces.

However, because of our limited bandwidth to support MinGW, we're not
investigating this, and therefore we need to keep skipping tests that
hang on this environment.
2022-07-28 16:12:46 -07:00
Takashi Kokubun bee5089d67
Try reproducing the MinGW hang on time command (#6168)
to see if it really exits correctly. 

GitHub Support asked me to confirm the command is exiting correctly.
2022-07-27 21:29:14 -07:00
Takashi Kokubun 232e2f5981
Skip TupleSpaceProxyTest on MINGW64 too
It wasn't specific to UCRT64

https://github.com/ruby/ruby/runs/7062992464
2022-06-26 21:00:04 -07:00
Alan Wu 49d5921550 Fix Rinda test teardown for omitted tests
New test failures on MINGW appeared after
c2e37c8ff7.

      1) Error:
    Rinda::TupleSpaceProxyTest#test_00_template:
    NoMethodError: undefined method `stop_service' for nil:NilClass
        D:/a/ruby/ruby/src/test/rinda/test_rinda.rb:516:in `teardown'

      2) Error:
    Rinda::TupleSpaceProxyTest#test_ruby_talk_264062:
    NoMethodError: undefined method `stop_service' for nil:NilClass
        D:/a/ruby/ruby/src/test/rinda/test_rinda.rb:516:in `teardown'

Teardown happens even when the test is omitted.

See: https://github.com/ruby/ruby/runs/7058984522
2022-06-26 09:24:22 -04:00
Takashi Kokubun c2e37c8ff7
Try skipping TupleSpaceProxyTest on MinGW UCRT64
As you all know, MinGW UCRT64 CI has randomly got stuck despite its
"Finished tests" output.

Looking at the logs closely, it seems like all of the recent such
reproductions end with the following output:

```
  Retrying hung up testcases...
  [ 1/14] Rinda::TupleSpaceProxyTest#test_ruby_talk_264062 = 0.21 s
  [ 2/14] Rinda::TupleSpaceProxyTest#test_00_template = 0.01 s
  [ 3/14] Rinda::TupleSpaceProxyTest#test_inp_rdp = 0.00 s
  [ 4/14] Rinda::TupleSpaceProxyTest#test_core_03_notify = 0.01 s
  [ 5/14] Rinda::TupleSpaceProxyTest#test_00_renewer = 0.01 s
  [ 6/14] Rinda::TupleSpaceProxyTest#test_cancel_02 = 0.11 s
  [ 7/14] Rinda::TupleSpaceProxyTest#test_00_DRbObject = 0.00 s
  [ 8/14] Rinda::TupleSpaceProxyTest#test_core_02 = 0.11 s
  [ 9/14] Rinda::TupleSpaceProxyTest#test_core_01 = 0.11 s
  [10/14] Rinda::TupleSpaceProxyTest#test_remote_array_and_hash = 0.01 s
  [11/14] Rinda::TupleSpaceProxyTest#test_00_tuple = 0.00 s
  [12/14] Rinda::TupleSpaceProxyTest#test_take_bug_8215 = 0.41 s
  [13/14] Rinda::TupleSpaceProxyTest#test_cancel_01 = 0.11 s
  [14/14] Rinda::TupleSpaceProxyTest#test_symbol_tuple = 0.01 s
  Finished tests in 719.252845s, 29.4292 tests/s, 3838.7154 assertions/s.
  21167 tests, 2761007 assertions, 0 failures, 0 errors, 708 skips
```

https://github.com/ruby/ruby/runs/7057789554

While it seems to be retried successfully, given that it hungs up once
and this appears all the time, this test class seems a bit suspicious.
To check if it's related, let me try disabling this for now.
2022-06-25 23:36:14 -07:00
Hiroshi SHIBATA 186fd89086 [ruby/rinda] Use omit instead of skip for test-unit
https://github.com/ruby/rinda/commit/1d3512aa26
2022-01-12 10:59:21 +09:00
Takashi Kokubun 1a63468831
Prepare for removing RubyVM::JIT (#5262) 2021-12-13 23:07:46 -08:00
Takashi Kokubun e1fee7f949
Rename RubyVM::MJIT to RubyVM::JIT
because the name "MJIT" is an internal code name, it's inconsistent with
--jit while they are related to each other, and I want to discourage future
JIT implementation-specific (e.g. MJIT-specific) APIs by this rename.

[Feature #17490]
2021-01-13 22:46:51 -08:00
Benoit Daloze b4ec4a41c2 Guard all accesses to RubyVM::MJIT with defined?(RubyVM::MJIT) &&
* Otherwise those tests, etc cannot run on alternative Ruby implementations.
2020-12-04 16:45:54 +01:00
Yusuke Endoh 09dd9d8e5d Revert "test/rinda/test_rinda.rb: try debugging TestRingServer#test_do_reply"
This reverts commit de5e8d0e3b.

Remove the debugging code that is no longer needed
2020-10-17 15:32:40 +09:00
Yusuke Endoh 6a9e09824b Revert "test/rinda/test_rinda.rb: Add more debugging code"
This reverts commit ac803ab55d.

Remove debugging code that is no longer needed
2020-10-17 15:32:19 +09:00
Yusuke Endoh 5c003b4bcd test/rinda/test_rinda.rb: Prevent a callback Proc from being GC'ed
According to the log of ac803ab55d, I
found that a thread terminates silently due to "recycled object" of
id2ref:

```
"/home/chkbuild/chkbuild/tmp/build/20201017T033002Z/ruby/lib/drb/drb.rb:366:in `_id2ref'"
"/home/chkbuild/chkbuild/tmp/build/20201017T033002Z/ruby/lib/drb/drb.rb:366:in `to_obj'"
"/home/chkbuild/chkbuild/tmp/build/20201017T033002Z/ruby/lib/drb/drb.rb:1528:in `to_obj'"
"/home/chkbuild/chkbuild/tmp/build/20201017T033002Z/ruby/lib/drb/drb.rb:1847:in `to_obj'"
"/home/chkbuild/chkbuild/tmp/build/20201017T033002Z/ruby/lib/drb/drb.rb:1136:in `method_missing'"
"/home/chkbuild/chkbuild/tmp/build/20201017T033002Z/ruby/test/rinda/test_rinda.rb:652:in `block in do_reply'"
```
https://rubyci.org/logs/rubyci.s3.amazonaws.com/rhel8/ruby-master/log/20201017T033002Z.log.html.gz

I believe that this unintentional thread termination has caused
intermittent timeout failure of `TestRingServer#test_do_reply`.

The root cause of the "recycled object" issue is a bug of
`TestRingServer#test_do_reply`.  It creates a callback Proc object but
does not hold the reference to the object:

```
callback = DRb::DRbObject.new callback
```

The original "callback" object is GC'ed unintentionally.
I could consistently reproduce this issue on my machine by adding
`GC.stress = true` at the first of `_test_do_reply` method body.

This change uses another local variable name, "callback_orig", to keep
the original Proc object.
2020-10-17 15:17:55 +09:00
Yusuke Endoh ac803ab55d test/rinda/test_rinda.rb: Add more debugging code
in addition to de5e8d0e3b
2020-10-17 00:07:35 +09:00
Yusuke Endoh de5e8d0e3b test/rinda/test_rinda.rb: try debugging TestRingServer#test_do_reply
https://rubyci.org/logs/rubyci.s3.amazonaws.com/rhel8/ruby-master/log/20201016T063003Z.fail.html.gz
```
  1) Error:
Rinda::TestRingServer#test_do_reply:
Timeout::Error: timeout
    /home/chkbuild/chkbuild/tmp/build/20201016T063003Z/ruby/test/rinda/test_rinda.rb:837:in `sleep'
    /home/chkbuild/chkbuild/tmp/build/20201016T063003Z/ruby/test/rinda/test_rinda.rb:837:in `wait_for'
    /home/chkbuild/chkbuild/tmp/build/20201016T063003Z/ruby/test/rinda/test_rinda.rb:659:in `_test_do_reply'
    /home/chkbuild/chkbuild/tmp/build/20201016T063003Z/ruby/test/rinda/test_rinda.rb:643:in `block in test_do_reply'
    /home/chkbuild/chkbuild/tmp/build/20201016T063003Z/ruby/test/rinda/test_rinda.rb:807:in `with_timeout'
    /home/chkbuild/chkbuild/tmp/build/20201016T063003Z/ruby/test/rinda/test_rinda.rb:643:in `test_do_reply'
```
2020-10-16 16:51:33 +09:00
Takashi Kokubun 609ac6ee2c
Revert "Try increasing read timeout of rinda tests"
This reverts commit 5c03e4680e.

I gave up stabilizing Rinda::TupleSpaceProxyTest#test_cancel_02. As the
test uses sleep, it's probably not gonna be stable with --jit-wait.

http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3028276
http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3028065
http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3027857
http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3027441
2020-06-26 22:43:59 -07:00
Takashi Kokubun 5c03e4680e
Try increasing read timeout of rinda tests
To prevent random failure with --jit-wait like
http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3026615
2020-06-25 22:11:56 -07:00
Hiroshi SHIBATA 7473b4c106
Explicitly loading with envutil.rb 2020-05-28 14:41:08 +09:00
Yusuke Endoh b4711a0fa0 test/rinda/test_rinda.rb: Increase the timeout
Attempts to fix a occational failure on Solaris with sunc

https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris11-sunc/ruby-master/log/20200124T160008Z.fail.html.gz
```
  1) Error:
Rinda::TestRingServer#test_do_reply:
Timeout::Error: timeout
```
2020-01-25 14:14:05 +09:00
Kazuhiro NISHIYAMA 8b07c122b7
Stop pool threads in test/rinda too 2019-12-09 13:46:23 +09:00
Kazuhiro NISHIYAMA 14eede6e53
Fix `Leaked thread`
Sometimes `Leaked thread: Rinda::TestRingServer#test_ring_server_ipv6_multicast` happens
because `Rinda::TupleSpace#start_keeper` runs after stopping `@keeper`.
2019-07-31 17:45:43 +09:00
k0kubun 575735664b Add debug message for test_rinda crash
We often see test-all worker crash on test_rinda, but for now we even
can't know which test is unstable from this output:
http://ci.rvm.jp/results/trunk_gcc5@silicon-docker/1926481

Let me print `caller` on the timeout failure.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67463 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-07 08:18:09 +00:00
k0kubun e7477a949c [bug:8215] seems to be still broken on mswin
This test fails on AppVeyor mswin so often:
https://ci.appveyor.com/project/ruby/ruby/builds/23427134/job/rowv0dohwni0xa37
https://ci.appveyor.com/project/ruby/ruby/builds/22970385/job/qdkqus13bhnyyfxf
https://ci.appveyor.com/project/ruby/ruby/builds/22970385/job/o4k8keg95ltcryoe

Maybe it's related to https://bugs.ruby-lang.org/issues/15569.
As this test is harmful for mswin CI reliability, let me skip this at
least until somebody fixes the above issue.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67365 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-03-28 15:37:45 +00:00
naruse 0deeb1aeb6 Call DRb.start_service with setup/teardown
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67037 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-02-08 08:47:42 +00:00
k0kubun 8ca727d80f test_rinda.rb: give up stabilizing this test
on --jit-wait. It's randomly failing and it's unlikely to be detecting
any MJIT's bug.

https://app.wercker.com/ruby/ruby/runs/mjit-test2/5c5c2339940b5200f01a0822?step=5c5c2b9fcfa0fc000741d940

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67026 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-02-07 13:57:27 +00:00
k0kubun 173ad5202b test_rinda.rb: extend timeout of wait_for as well
https://app.wercker.com/ruby/ruby/runs/mjit-test2/5c5961adb18ed400951edeeb?step=5c596fd563e946000717df91

see also: r67003

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67012 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-02-05 11:45:52 +00:00
k0kubun 190a61e3a5 test_rinda.rb: increase timeout for --jit-wait CI
https://app.wercker.com/ruby/ruby/runs/mjit-test2/5c57dbb6b18ed400951e3c74?step=5c57e8b963e94600070a5d61

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-02-04 08:20:05 +00:00
seki 3dd0b61624 fix: https://twitter.com/_ko1/status/1086167481922646016
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-02-02 06:17:34 +00:00
nobu c49559f1c1 Skip EHOSTUNREACH by host issues
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64774 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-18 12:55:05 +00:00
kazu 50e41f4a4f test/rinda/test_rinda.rb: Start keeper only on used tests
to reduce sleeping threads on unrelated tests

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-08-13 12:22:43 +00:00
eregon 15689ed778 Fix test-all tests to avoid creating report_on_exception warnings
* The warnings are shown by Thread.report_on_exception defaulting to
  true. [Feature #14143] [ruby-core:83979]
* Improves tests by narrowing down the scope where an exception
  is expected.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61188 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-12 18:44:49 +00:00
eregon 967eab83e3 Remove extra assert_nil in Rinda tests
* They are never executed since thread_join() raises.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61187 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-12 18:44:33 +00:00
eregon 2dfbc64fab Rescue expected Interrupt in TupleSpaceTestModule#test_take_bug_8215
* test/rinda/test_rinda.rb (test_take_bug_8215): add rescue for
  expected exception, which removes the warning by
  Thread.report_on_exception [Feature #14143].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61185 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-12 18:44:07 +00:00
mame a4d6fb5584 Stop a global server of Rinda test
This server seemed to cause "leaked file descriptor" warnings.
Moved it into the setup/teardown framework.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-14 15:14:21 +00:00
normal d9421e1376 test/rinda/test_rinda: skip multicast tests for unsupported systems
This allows "test-all" to pass on systems without multicast
support.  I leave CONFIG_IP_MULTICAST unset in my Linux kernel
.config, nowadays.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57310 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-11 23:53:05 +00:00
nobu c83f23ad52 test_rinda.rb: ipv6_mc
* test/rinda/test_rinda.rb (RingIPv6#ipv6_mc): extract IPv6
  multicast setup and cleanup, and ignore ENETDOWN.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57147 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-12-22 02:00:02 +00:00
shugo 8a2bd2b7f0 * test/rinda/test_rinda.rb (test_make_socket_ipv6_multicast,
test_make_socket_ipv6_multicast_hops): skip if IPv6 multicast
  address is not available.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-06 03:04:33 +00:00
odaira 1874524d42 Sat Mar 5 09:17:54 2016 Rei Odaira <Rei.Odaira@gmail.com>
* test/rinda/test_rinda.rb (test_make_socket_ipv4_multicast):
  The fifth argument to getsockopt(2) should be modified to
  indicate the actual size of the value on return,
  but not in AIX. This is a know bug. Skip related tests.
* test/rinda/test_rinda.rb (test_ring_server_ipv4_multicast):
  ditto.
* test/rinda/test_rinda.rb (test_make_socket_unicast): ditto.
* test/socket/test_basicsocket.rb (test_getsockopt): ditto.
* test/socket/test_sockopt.rb (test_bool): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54004 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-05 00:29:39 +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
ngoto 6f8d3709da * test/rinda/test_rinda.rb (RingIPv6#prepare_ipv6): prevent to use
IPv6 loopback interface for
  Rinda::TestRingFinger#test_make_socket_ipv6_multicast and
  Rinda::TestRingFinger#test_make_socket_ipv6_multicast_hops.
  The tests are skipped if there are no IPv6 devices other than the
  loopback device. [Bug #11394] [ruby-dev:49199]

* test/rinda/test_rinda.rb (test_make_socket_ipv6_multicast): ditto
  for Rinda::TestRingServer#test_make_socket_ipv6_multicast.
   
* test/rinda/test_rinda.rb (test_ring_server_ipv6_multicast): ditto
  for Rinda::TestRingServer#test_ring_server_ipv6_multicast.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51362 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-24 11:29:49 +00:00
akr fb2008a73a * test/lib/envutil.rb: Moved from test/ruby/.
* test/lib/find_executable.rb: Ditto.

* test/lib/memory_status.rb: Ditto.

* test/lib/test/unit.rb: require envutil.

* test/: Don't require envutil in test files.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-13 16:05:37 +00:00
hsbt f587cf7906 * test/rinda/test_rinda.rb: removed useless assignment variables.
* test/rss/rss-assertions.rb: ditto.
* test/rss/test_maker_itunes.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47313 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-08-29 08:37:39 +00:00
akr fcdec9bfbb Stop DRb service.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-01 14:08:35 +00:00
akr be4b37dfae Finish threads.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46295 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-01 13:47:04 +00:00
akr f64541d7bd Close FDs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46291 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-01 01:21:18 +00:00
nobu 25ccc4686c test_rinda.rb: revert stop_service
* test/rinda/test_rinda.rb (test_take_bug_8215): revert
  `stop_service` for the time being.  need to reset
  `current_server` to let test/drb work, probably.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46140 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-26 12:59:18 +00:00
nobu 6112d54151 test_rinda.rb: fix leaked threads
* test/rinda/test_rinda.rb: join work threads not to leak threads.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46139 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-26 08:40:37 +00:00
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