Sha256: 4367f707ffc460cd1dc92b842374ce952b6262a144b1e02337ba72fb82c0f4d5

Contents?: true

Size: 1.02 KB

Versions: 26

Compression:

Stored size: 1.02 KB

Contents

# frozen_string_literal: true

require "spec_helper"

RSpec.describe UDPSocket, if: !defined?(JRUBY_VERSION) do
  let(:udp_port) { 23_456 }

  let :readable_subject do
    server = UDPSocket.new
    server.bind("127.0.0.1", 0)

    peer = UDPSocket.new
    peer.send("hi there", 0, "127.0.0.1", server.local_address.ip_port)

    server
  end

  let :unreadable_subject do
    sock = UDPSocket.new
    sock.bind("127.0.0.1", 0)
    sock
  end

  let :writable_subject do
    server = UDPSocket.new
    server.bind("127.0.0.1", 0)

    peer = UDPSocket.new
    peer.connect("127.0.0.1", server.local_address.ip_port)

    cntr = 0
    begin
      peer.send("X" * 1024, 0)
      cntr += 1
      t = select [], [peer], [], 0
    rescue Errno::ECONNREFUSED => e
      skip "Couldn't make writable UDPSocket subject: #{e.class}: #{e}"
    end while t && t[1].include?(peer) && cntr < 5

    peer
  end

  let :unwritable_subject do
    pending "come up with a UDPSocket that's blocked on writing"
  end

  it_behaves_like "an NIO selectable"
end

Version data entries

26 entries across 23 versions & 5 rubygems

Version Path
scrapbook-0.3.2 vendor/ruby/2.7.0/gems/nio4r-2.5.8/spec/nio/selectables/udp_socket_spec.rb
nio4r-2.6.0-java spec/nio/selectables/udp_socket_spec.rb
nio4r-2.6.0 spec/nio/selectables/udp_socket_spec.rb
scrapbook-0.3.1 vendor/ruby/2.7.0/gems/nio4r-2.5.8/spec/nio/selectables/udp_socket_spec.rb
nio4r-2.5.9-java spec/nio/selectables/udp_socket_spec.rb
nio4r-2.5.9 spec/nio/selectables/udp_socket_spec.rb
date_n_time_picker_activeadmin-0.1.2 vendor/bundle/ruby/2.6.0/gems/nio4r-2.5.8/spec/nio/selectables/udp_socket_spec.rb
date_n_time_picker_activeadmin-0.1.1 vendor/bundle/ruby/2.6.0/gems/nio4r-2.5.8/spec/nio/selectables/udp_socket_spec.rb
rails_mini_profiler-0.2.0 vendor/bundle/ruby/3.0.0/gems/nio4r-2.5.7/spec/nio/selectables/udp_socket_spec.rb
nio4r-2.5.8-java spec/nio/selectables/udp_socket_spec.rb
nio4r-2.5.8 spec/nio/selectables/udp_socket_spec.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/tdiary-5.1.5/vendor/bundle/ruby/3.0.0/gems/nio4r-2.5.5/spec/nio/selectables/udp_socket_spec.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/nio4r-2.5.7/spec/nio/selectables/udp_socket_spec.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/tdiary-5.1.5/vendor/bundle/ruby/3.0.0/gems/nio4r-2.5.4/spec/nio/selectables/udp_socket_spec.rb
nio4r-2.5.7-java spec/nio/selectables/udp_socket_spec.rb
nio4r-2.5.7 spec/nio/selectables/udp_socket_spec.rb
nio4r-2.5.6-java spec/nio/selectables/udp_socket_spec.rb
nio4r-2.5.6 spec/nio/selectables/udp_socket_spec.rb
tdiary-5.1.5 vendor/bundle/ruby/3.0.0/gems/nio4r-2.5.4/spec/nio/selectables/udp_socket_spec.rb
tdiary-5.1.5 vendor/bundle/ruby/3.0.0/gems/nio4r-2.5.5/spec/nio/selectables/udp_socket_spec.rb