@@ -1,7 +1,7 @@ /* - * Copyright (c) 2008-2021 Jonathan Schleifer + * Copyright (c) 2008-2022 Jonathan Schleifer * * All rights reserved. * * This file is part of ObjFW. It may be distributed under the terms of the * Q Public License 1.0, which can be found in the file LICENSE.QPL included in @@ -17,19 +17,19 @@ #include #import "TestsAppDelegate.h" -static OFString *module = @"OFSPXStreamSocket"; +static OFString *const module = @"OFSPXStreamSocket"; @interface SPXStreamSocketDelegate: OFObject { @public OFStreamSocket *_expectedServerSocket; OFSPXStreamSocket *_expectedClientSocket; - unsigned char _expectedNode[IPX_NODE_LEN]; uint32_t _expectedNetwork; + unsigned char _expectedNode[IPX_NODE_LEN]; uint16_t _expectedPort; bool _accepted; bool _connected; } @end @@ -48,22 +48,22 @@ [[OFRunLoop mainRunLoop] stop]; return false; } -- (void)socket: (OFSPXStreamSocket *)sock - didConnectToNode: (unsigned char [IPX_NODE_LEN])node - network: (uint32_t)network - port: (uint16_t)port - exception: (id)exception +- (void)socket: (OFSPXStreamSocket *)sock + didConnectToNetwork: (uint32_t)network + node: (unsigned char [IPX_NODE_LEN])node + port: (uint16_t)port + exception: (id)exception { OFEnsure(!_connected); _connected = (sock == _expectedClientSocket && + network == _expectedNetwork && memcmp(node, _expectedNode, IPX_NODE_LEN) == 0 && - network == _expectedNetwork && port == _expectedPort && - exception == nil); + port == _expectedPort && exception == nil); if (_accepted && _connected) [[OFRunLoop mainRunLoop] stop]; } @end @@ -70,15 +70,15 @@ @implementation TestsAppDelegate (OFSPXStreamSocketTests) - (void)SPXStreamSocketTests { void *pool = objc_autoreleasePoolPush(); - OFSPXStreamSocket *sockClient, *sockServer, *sockAccepted;; + OFSPXStreamSocket *sockClient, *sockServer = nil, *sockAccepted; OFSocketAddress address1; const OFSocketAddress *address2; - unsigned char node[IPX_NODE_LEN], node2[IPX_NODE_LEN]; uint32_t network; + unsigned char node[IPX_NODE_LEN], node2[IPX_NODE_LEN]; uint16_t port; char buffer[5]; SPXStreamSocketDelegate *delegate; TEST(@"+[socket]", (sockClient = [OFSPXStreamSocket socket]) && @@ -113,18 +113,18 @@ objc_autoreleasePoolPop(pool); return; } - OFSocketAddressIPXNode(&address1, node); network = OFSocketAddressIPXNetwork(&address1); + OFSocketAddressIPXNode(&address1, node); port = OFSocketAddressPort(&address1); TEST(@"-[listen]", R([sockServer listen])) - TEST(@"-[connectToNode:network:port:]", - R([sockClient connectToNode: node network: network port: port])) + TEST(@"-[connectToNetwork:node:port:]", + R([sockClient connectToNetwork: network node: node port: port])) TEST(@"-[accept]", (sockAccepted = [sockServer accept])) /* Test reassembly (this would not work with OFSPXSocket) */ TEST(@"-[writeBuffer:length:]", @@ -136,13 +136,13 @@ [sockClient readIntoBuffer: buffer length: 3] == 3 && memcmp(buffer, "llo", 3) == 0) TEST(@"-[remoteAddress]", (address2 = sockAccepted.remoteAddress) && + OFSocketAddressIPXNetwork(address2) == network && R(OFSocketAddressIPXNode(address2, node2)) && - memcmp(node, node2, IPX_NODE_LEN) == 0 && - OFSocketAddressIPXNetwork(address2) == network) + memcmp(node, node2, IPX_NODE_LEN) == 0) delegate = [[[SPXStreamSocketDelegate alloc] init] autorelease]; sockServer = [OFSPXStreamSocket socket]; delegate->_expectedServerSocket = sockServer; @@ -154,33 +154,33 @@ address1 = [sockServer bindToPort: 0]; [sockServer listen]; [sockServer asyncAccept]; + delegate->_expectedNetwork = network = + OFSocketAddressIPXNetwork(&address1); OFSocketAddressIPXNode(&address1, node); memcpy(delegate->_expectedNode, node, IPX_NODE_LEN); - delegate->_expectedNetwork = network = - OFSocketAddressIPXNetwork(&address1); delegate->_expectedPort = port = OFSocketAddressPort(&address1); @try { - [sockClient asyncConnectToNode: node - network: network - port: port]; + [sockClient asyncConnectToNetwork: network + node: node + port: port]; [[OFRunLoop mainRunLoop] runUntilDate: [OFDate dateWithTimeIntervalSinceNow: 2]]; - TEST(@"-[asyncAccept] & -[asyncConnectToNode:network:port:]", + TEST(@"-[asyncAccept] & -[asyncConnectToNetwork:node:port:]", delegate->_accepted && delegate->_connected) } @catch (OFObserveFailedException *e) { switch (e.errNo) { case ENOTSOCK: [OFStdOut setForegroundColor: [OFColor lime]]; [OFStdOut writeLine: @"\r[OFSPXStreamSocket] -[asyncAccept] & " - @"-[asyncConnectToNode:network:port:]: select() " + @"-[asyncConnectToNetwork:node:port:]: select() " @"not supported for SPX, skipping test"]; break; default: @throw e; }