Project

General

Profile

« Previous | Next » 

Revision 67f1cd20

Added by U.Nakamura over 4 years ago

merge revision(s) fbbc37dc1d5b329777e6d9716118db528ab70730: [Backport #17802]

    test/drb/test_drb.rb: Specify the host of DRbServer

    to try fixing the following error.

    http://rubyci.s3.amazonaws.com/opensuseleap/ruby-master/log/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.
    ---
     test/drb/test_drb.rb    | 4 ++--
     test/drb/test_drbssl.rb | 2 +-
     2 files changed, 3 insertions(+), 3 deletions(-)