|
137 | 137 | finalize(m)
|
138 | 138 | end
|
139 | 139 |
|
| 140 | + # Test multipart messages |
| 141 | + data = ["foo", "bar", "baz"] |
| 142 | + ZMQ.send_multipart(s2, data) |
| 143 | + |
| 144 | + # Test receiving Message's |
| 145 | + msgs = ZMQ.recv_multipart(s1) |
| 146 | + @test msgs isa Vector{Message} |
| 147 | + @test String.(msgs) == data |
| 148 | + |
| 149 | + # Test receiving a specific type |
| 150 | + data = Int[1, 2, 3] |
| 151 | + ZMQ.send_multipart(s1, data) |
| 152 | + msgs = ZMQ.recv_multipart(s2, Int) |
| 153 | + @test msgs isa Vector{Int} |
| 154 | + @test msgs == data |
| 155 | + |
140 | 156 | # ZMQ.close(s1); ZMQ.close(s2) # should happen when context is closed
|
141 | 157 | ZMQ.close(ZMQ._context) # immediately close global context rather than waiting for exit
|
142 | 158 | @test !isopen(s1)
|
@@ -223,29 +239,29 @@ end
|
223 | 239 | @testset "ZMQ resource management" begin
|
224 | 240 | local leaked_req_socket, leaked_rep_socket
|
225 | 241 | ZMQ.Socket(ZMQ.REQ) do req_socket
|
226 |
| - leaked_req_socket = req_socket |
| 242 | + leaked_req_socket = req_socket |
227 | 243 |
|
228 |
| - ZMQ.Socket(ZMQ.REP) do rep_socket |
229 |
| - leaked_rep_socket = rep_socket |
| 244 | + ZMQ.Socket(ZMQ.REP) do rep_socket |
| 245 | + leaked_rep_socket = rep_socket |
230 | 246 |
|
231 |
| - ZMQ.bind(rep_socket, "inproc://tester") |
232 |
| - ZMQ.connect(req_socket, "inproc://tester") |
| 247 | + ZMQ.bind(rep_socket, "inproc://tester") |
| 248 | + ZMQ.connect(req_socket, "inproc://tester") |
233 | 249 |
|
234 |
| - ZMQ.send(req_socket, "Mr. Watson, come here, I want to see you.") |
235 |
| - @test unsafe_string(ZMQ.recv(rep_socket)) == "Mr. Watson, come here, I want to see you." |
236 |
| - ZMQ.send(rep_socket, "Coming, Mr. Bell.") |
237 |
| - @test unsafe_string(ZMQ.recv(req_socket)) == "Coming, Mr. Bell." |
238 |
| - end |
| 250 | + ZMQ.send(req_socket, "Mr. Watson, come here, I want to see you.") |
| 251 | + @test unsafe_string(ZMQ.recv(rep_socket)) == "Mr. Watson, come here, I want to see you." |
| 252 | + ZMQ.send(rep_socket, "Coming, Mr. Bell.") |
| 253 | + @test unsafe_string(ZMQ.recv(req_socket)) == "Coming, Mr. Bell." |
| 254 | + end |
239 | 255 |
|
240 |
| - @test !ZMQ.isopen(leaked_rep_socket) |
| 256 | + @test !ZMQ.isopen(leaked_rep_socket) |
241 | 257 | end
|
242 | 258 | @test !ZMQ.isopen(leaked_req_socket)
|
243 | 259 |
|
244 | 260 | local leaked_ctx
|
245 | 261 | ZMQ.Context() do ctx
|
246 |
| - leaked_ctx = ctx |
| 262 | + leaked_ctx = ctx |
247 | 263 |
|
248 |
| - @test isopen(ctx) |
| 264 | + @test isopen(ctx) |
249 | 265 | end
|
250 | 266 | @test !isopen(leaked_ctx)
|
251 | 267 | end
|
|
0 commit comments