diff options
Diffstat (limited to 'tests/wireformat.cpp')
-rw-r--r-- | tests/wireformat.cpp | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/tests/wireformat.cpp b/tests/wireformat.cpp index f3e0f96..f12f5aa 100644 --- a/tests/wireformat.cpp +++ b/tests/wireformat.cpp @@ -49,7 +49,11 @@ int XS_TEST_MAIN () assert (push); // Bind the peer and get the message. - int rc = xs_bind (pull, "tcp://127.0.0.1:5560"); + int service_id = 0x1234; + int rc = xs_setsockopt (pull, XS_SERVICE_ID, &service_id, + sizeof service_id); + assert (rc == 0); + rc = xs_bind (pull, "tcp://127.0.0.1:5560"); assert (rc != -1); rc = xs_bind (push, "tcp://127.0.0.1:5561"); assert (rc != -1); @@ -71,10 +75,10 @@ int XS_TEST_MAIN () assert (rc == 0); // Let's send some data and check if it arrived - rc = send (rpush, "\x04\0abc", 5, 0); - assert (rc == 5); + rc = send (rpush, "\0SP\0\x12\x34\x04\x31\x04\0abc", 13, 0); + assert (rc == 13); unsigned char buf [3]; - unsigned char buf2 [3]; + unsigned char buf2 [8]; rc = xs_recv (pull, buf, sizeof (buf), 0); assert (rc == 3); assert (!memcmp (buf, "abc", 3)); @@ -83,8 +87,11 @@ int XS_TEST_MAIN () rc = xs_send (push, buf, sizeof (buf), 0); assert (rc == 3); rc = recv (rpull, (char*) buf2, sizeof (buf2), 0); - assert (rc == 3); - assert (!memcmp (buf2, "\x04\0abc", 3)); + assert (rc == 8); + assert (!memcmp (buf2, "\0SP\0\0\0\x04\x31", 8)); + rc = recv (rpull, (char*) buf2, 5, 0); + assert (rc == 5); + assert (!memcmp (buf2, "\x04\0abc", 5)); #if defined XS_HAVE_WINDOWS rc = closesocket (rpush); |