24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
@implementation TestsAppDelegate (OFIPXSocketTests)
- (void)IPXSocketTests
{
const unsigned char zeroNode[IPX_NODE_LEN] = { 0 };
void *pool = objc_autoreleasePoolPush();
OFIPXSocket *sock;
OFSocketAddress address1, address2;
char buffer[5];
unsigned char node1[IPX_NODE_LEN], node2[IPX_NODE_LEN];
TEST(@"+[socket]", (sock = [OFIPXSocket socket]))
@try {
TEST(@"-[bindToNetwork:node:port:packetType:]",
|
>
|
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
@implementation TestsAppDelegate (OFIPXSocketTests)
- (void)IPXSocketTests
{
const unsigned char zeroNode[IPX_NODE_LEN] = { 0 };
void *pool = objc_autoreleasePoolPush();
OFIPXSocket *sock;
OFSocketAddress address1, address2;
OFDictionary *networkInterfaces;
char buffer[5];
unsigned char node1[IPX_NODE_LEN], node2[IPX_NODE_LEN];
TEST(@"+[socket]", (sock = [OFIPXSocket socket]))
@try {
TEST(@"-[bindToNetwork:node:port:packetType:]",
|
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
default:
@throw e;
}
objc_autoreleasePoolPop(pool);
return;
}
TEST(@"-[sendBuffer:length:receiver:]",
R([sock sendBuffer: "Hello" length: 5 receiver: &address1]))
TEST(@"-[receiveIntoBuffer:length:sender:]",
[sock receiveIntoBuffer: buffer length: 5 sender: &address2] == 5 &&
memcmp(buffer, "Hello", 5) == 0 &&
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
default:
@throw e;
}
objc_autoreleasePoolPop(pool);
return;
}
/*
* Find any network interface with IPX and send to it. Any should be
* fine since we bound to 0.0.
*/
networkInterfaces = [OFSystemInfo networkInterfaces];
for (OFString *name in networkInterfaces) {
OFNetworkInterface interface = [networkInterfaces
objectForKey: name];
OFData *addresses = [interface
objectForKey: OFNetworkInterfaceIPXAddresses];
unsigned char node[IPX_NODE_LEN];
if (addresses.count == 0)
continue;
OFSocketAddressSetIPXNetwork(&address1,
OFSocketAddressIPXNetwork([addresses itemAtIndex: 0]));
OFSocketAddressGetIPXNode([addresses itemAtIndex: 0], node);
OFSocketAddressSetIPXNode(&address1, node);
}
TEST(@"-[sendBuffer:length:receiver:]",
R([sock sendBuffer: "Hello" length: 5 receiver: &address1]))
TEST(@"-[receiveIntoBuffer:length:sender:]",
[sock receiveIntoBuffer: buffer length: 5 sender: &address2] == 5 &&
memcmp(buffer, "Hello", 5) == 0 &&
|