summaryrefslogtreecommitdiff
path: root/test/rinda/test_rinda.rb
AgeCommit message (Collapse)Author
2021-01-13Rename RubyVM::MJIT to RubyVM::JITTakashi Kokubun
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]
2020-12-04Guard all accesses to RubyVM::MJIT with defined?(RubyVM::MJIT) &&Benoit Daloze
* Otherwise those tests, etc cannot run on alternative Ruby implementations.
2020-10-17Revert "test/rinda/test_rinda.rb: try debugging TestRingServer#test_do_reply"Yusuke Endoh
This reverts commit de5e8d0e3bc3cc39487ffc9d9c15642b6881cd54. Remove the debugging code that is no longer needed
2020-10-17Revert "test/rinda/test_rinda.rb: Add more debugging code"Yusuke Endoh
This reverts commit ac803ab55db50ef891e3680680620d01f28a759b. Remove debugging code that is no longer needed
2020-10-17test/rinda/test_rinda.rb: Prevent a callback Proc from being GC'edYusuke Endoh
According to the log of ac803ab55db50ef891e3680680620d01f28a759b, 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-17test/rinda/test_rinda.rb: Add more debugging codeYusuke Endoh
in addition to de5e8d0e3bc3cc39487ffc9d9c15642b6881cd54
2020-10-16test/rinda/test_rinda.rb: try debugging TestRingServer#test_do_replyYusuke Endoh
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-06-26Revert "Try increasing read timeout of rinda tests"Takashi Kokubun
This reverts commit 5c03e4680e724faeedb2c5fc1581d5fcb66aaff2. 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-25Try increasing read timeout of rinda testsTakashi Kokubun
To prevent random failure with --jit-wait like http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3026615
2020-05-28Explicitly loading with envutil.rbHiroshi SHIBATA
2020-01-25test/rinda/test_rinda.rb: Increase the timeoutYusuke Endoh
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 ```
2019-12-09Stop pool threads in test/rinda tooKazuhiro NISHIYAMA
2019-07-31Fix `Leaked thread`Kazuhiro NISHIYAMA
Sometimes `Leaked thread: Rinda::TestRingServer#test_ring_server_ipv6_multicast` happens because `Rinda::TupleSpace#start_keeper` runs after stopping `@keeper`.
2019-04-07Add debug message for test_rinda crashk0kubun
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-03-28[bug:8215] seems to be still broken on mswink0kubun
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-02-08Call DRb.start_service with setup/teardownnaruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67037 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-02-07test_rinda.rb: give up stabilizing this testk0kubun
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-05test_rinda.rb: extend timeout of wait_for as wellk0kubun
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-04test_rinda.rb: increase timeout for --jit-wait CIk0kubun
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-02fix: https://twitter.com/_ko1/status/1086167481922646016seki
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-09-18Skip EHOSTUNREACH by host issuesnobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64774 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-08-13test/rinda/test_rinda.rb: Start keeper only on used testskazu
to reduce sleeping threads on unrelated tests git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-12Fix test-all tests to avoid creating report_on_exception warningseregon
* 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-12Remove extra assert_nil in Rinda testseregon
* 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-12Rescue expected Interrupt in TupleSpaceTestModule#test_take_bug_8215eregon
* 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-03-14Stop a global server of Rinda testmame
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-01-11test/rinda/test_rinda: skip multicast tests for unsupported systemsnormal
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
2016-12-22test_rinda.rb: ipv6_mcnobu
* 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-11-06* test/rinda/test_rinda.rb (test_make_socket_ipv6_multicast,shugo
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-03-05Sat Mar 5 09:17:54 2016 Rei Odaira <Rei.Odaira@gmail.com>odaira
* 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
2015-12-16Add frozen_string_literal: false for all filesnaruse
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-09-21 * test/drb/test_drb.rb: Run Rinda/DRb tests on localhost. [Fix GH-1027]seki
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-07-24* test/rinda/test_rinda.rb (RingIPv6#prepare_ipv6): prevent to usengoto
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
2014-11-13* test/lib/envutil.rb: Moved from test/ruby/.akr
* 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-08-29* test/rinda/test_rinda.rb: removed useless assignment variables.hsbt
* 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-06-01Stop DRb service.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-01Finish threads.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46295 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-01Close FDs.akr
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46291 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-26test_rinda.rb: revert stop_servicenobu
* 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-26test_rinda.rb: fix leaked threadsnobu
* 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-01-18test_rinda.rb: hungup investigationnobu
* 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-18test_rinda.rb: hungup investigationnobu
* 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-16test_rinda.rb: timeout all threadnobu
* 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-15test_rinda.rb: timeoutnobu
* 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-15test_rinda.rb: sleep to timeoutnobu
* 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-15add timeout to test_do_replynaruse
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
2013-11-27 * lib/rinda/ring.rb: Announce RingServer for the same process.drbrain
[ruby-trunk - Bug #9163] * test/rinda/test_rinda.rb: Tests for the above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-26fix missing assignment in r42174naruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42177 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-07-25Somehow Debian 6.0.7 needs ifname for IPv6 multicast connectnaruse
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42174 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-24test_rinda.rb: fix for unimplemented ifindex()shirosaki
* test/rinda/test_rinda.rb (RingIPv6#prepare_ipv6): ifindex() function may not be implemented on Windows. We use another check for the case. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41602 b2dd03c8-39d4-4d8f-98ff-823fe69b080e