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