cool.io icon indicating copy to clipboard operation
cool.io copied to clipboard

Two test failures with IPv6?

Open bastelfreak opened this issue 4 years ago • 1 comments

Failures:

  1) DNS connects to valid domains
     Failure/Error: c.close

     NoMethodError:
       undefined method `close' for nil:NilClass
     # ./spec/dns_spec.rb:32:in `ensure in block (2 levels) in <top (required)>'
     # ./spec/dns_spec.rb:32:in `block (2 levels) in <top (required)>'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/example.rb:254:in `instance_exec'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/example.rb:254:in `block in run'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/example.rb:500:in `block in with_around_and_singleton_context_hooks'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/example.rb:457:in `block in with_around_example_hooks'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/hooks.rb:464:in `block in run'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/hooks.rb:602:in `run_around_example_hooks_for'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/hooks.rb:464:in `run'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/example.rb:457:in `with_around_example_hooks'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/example.rb:500:in `with_around_and_singleton_context_hooks'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/example.rb:251:in `run'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:629:in `block in run_examples'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:625:in `map'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:625:in `run_examples'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:591:in `run'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:116:in `block (3 levels) in run_specs'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:116:in `map'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:116:in `block (2 levels) in run_specs'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/configuration.rb:1989:in `with_suite_hooks'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:111:in `block in run_specs'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/reporter.rb:74:in `report'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:110:in `run_specs'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:87:in `run'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:71:in `run'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:45:in `invoke'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/exe/rspec:4:in `<main>'
     # ------------------
     # --- Caused by: ---
     # SocketError:
     #   getaddrinfo: Address family for hostname not supported
     #   ./lib/cool.io/dns_resolver.rb:110:in `send'

  2) DNS fires on_resolve_failed for invalid domains
     Failure/Error: @socket.send request_message, 0, @nameservers.first, DNS_PORT

     SocketError:
       getaddrinfo: Address family for hostname not supported
     # ./lib/cool.io/dns_resolver.rb:110:in `send'
     # ./lib/cool.io/dns_resolver.rb:110:in `send_request'
     # ./lib/cool.io/dns_resolver.rb:77:in `attach'
     # (eval):3:in `attach'
     # ./spec/dns_spec.rb:37:in `block (2 levels) in <top (required)>'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/example.rb:254:in `instance_exec'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/example.rb:254:in `block in run'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/example.rb:500:in `block in with_around_and_singleton_context_hooks'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/example.rb:457:in `block in with_around_example_hooks'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/hooks.rb:464:in `block in run'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/hooks.rb:602:in `run_around_example_hooks_for'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/hooks.rb:464:in `run'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/example.rb:457:in `with_around_example_hooks'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/example.rb:500:in `with_around_and_singleton_context_hooks'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/example.rb:251:in `run'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:629:in `block in run_examples'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:625:in `map'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:625:in `run_examples'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:591:in `run'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:116:in `block (3 levels) in run_specs'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:116:in `map'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:116:in `block (2 levels) in run_specs'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/configuration.rb:1989:in `with_suite_hooks'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:111:in `block in run_specs'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/reporter.rb:74:in `report'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:110:in `run_specs'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:87:in `run'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:71:in `run'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib/rspec/core/runner.rb:45:in `invoke'
     # /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/exe/rspec:4:in `<main>'

Finished in 5.48 seconds (files took 0.17962 seconds to load)
38 examples, 2 failures

Failed examples:

rspec ./spec/dns_spec.rb:24 # DNS connects to valid domains
rspec ./spec/dns_spec.rb:36 # DNS fires on_resolve_failed for invalid domains

/usr/bin/ruby -I/usr/lib/ruby/gems/2.7.0/gems/rspec-support-3.8.0/lib:/usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/lib /usr/lib/ruby/gems/2.7.0/gems/rspec-core-3.8.0/exe/rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb failed

Hi, I'm trying to build the gem on my local workstation to create a native arch linux package. during the test run I get the above issues. If I remove my IPv6 resolver from /etc/resolv.conf the tests pass. Any idea how to fix this?

bastelfreak avatar Jun 06 '20 11:06 bastelfreak

Probably has something to do with the fact that Coolio::DNSResolver doesn't support IPv6.

mpalmer avatar Jun 21 '20 03:06 mpalmer