spec/async/io/socket/udp_spec.rb in async-io-1.4.0 vs spec/async/io/socket/udp_spec.rb in async-io-1.5.0

- old
+ new

@@ -18,56 +18,46 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. require 'async/io/udp_socket' -RSpec.describe Async::Reactor do - include_context Async::RSpec::Leaks +RSpec.describe Async::IO::Socket do + include_context Async::RSpec::Reactor # Shared port for localhost network tests. let(:server_address) {Async::IO::Address.udp("127.0.0.1", 6778)} let(:data) {"The quick brown fox jumped over the lazy dog."} + let!(:server_task) do + reactor.async do + Async::IO::Socket.bind(server_address) do |server| + packet, address = server.recvfrom(512) + + server.send(packet, 0, address) + end + end + end + describe 'basic udp server' do it "should echo data back to peer" do - subject.async do - Async::IO::Socket.bind(server_address) do |server| - packet, address = server.recvfrom(512) - - server.send(packet, 0, address) - end - end - - subject.async do + reactor.async do Async::IO::Socket.connect(server_address) do |client| client.send(data) response = client.recv(512) expect(response).to be == data end end - - subject.run end it "should use unconnected socket" do - subject.async do - Async::IO::Socket.bind(server_address) do |server| - packet, address = server.recvfrom(512) - - server.send(packet, 0, address) - end - end - - subject.async do + reactor.async do Async::IO::UDPSocket.wrap(server_address.afamily) do |client| client.send(data, 0, server_address) response, address = client.recvfrom(512) expect(response).to be == data end end - - subject.run end end end