--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/datacommsserver/esockserver/test/TE_ESock/EsockTestSection2.cpp Thu Dec 17 09:22:25 2009 +0200
@@ -0,0 +1,281 @@
+// Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// This contains ESock Test cases from section 2
+//
+//
+
+// EPOC includes
+#include <e32base.h>
+#include <in_sock.h>
+
+// Test system includes
+#include "EsockTestSection2.h"
+
+
+// Test step 2.1
+const TDesC& CEsockTest2_1::GetTestName()
+ {
+ // store the name of this test case
+ _LIT(ret,"Test2.1");
+
+ return ret;
+ }
+
+CEsockTest2_1::~CEsockTest2_1()
+ {
+ }
+
+enum TVerdict CEsockTest2_1::easyTestStepPreambleL()
+ {
+ if (KErrNone != OpenMinSockets(_L("Test_2.1"),KAfInet, KSockStream, KProtocolInetTcp))
+ {
+ return EFail;
+ }
+
+ return EPass;
+ }
+
+enum TVerdict CEsockTest2_1::easyTestStepL()
+ {
+ TESTL(EPass == TestStepResult());
+ TInt nSockets = iEsockSuite->GetSocketListCount();
+ // bind to n sockets on port 0
+
+ // get ip address
+ TInetAddr addr, addr1;
+ TESTL(GetIpAddressFromConfig(SectionName(_L("Test_2.1")), _L("ipAddress"), addr));
+
+ // set the port number to 0
+ addr.SetPort(0);
+
+ // for each open socket
+ TInt nRet;
+ TUint port;
+ for (TInt n = 0; n < nSockets; n++)
+ {
+ // bind the socket
+ nRet = iEsockSuite->GetSocketHandle(n + 1).Bind(addr);
+ TESTEL(nRet == KErrNone, nRet);
+
+ // get the socket name
+ iEsockSuite->GetSocketHandle(n + 1).LocalName(addr1);
+
+ // check address has been set correctly
+ TESTL(addr.Match(addr1));
+
+ // get port number - check it is non-zero
+ port = iEsockSuite->GetSocketHandle(n + 1).LocalPort();
+ TESTL(port > 0);
+ }
+
+ return EPass;
+ }
+
+
+// Test step 2.2
+const TDesC& CEsockTest2_2::GetTestName()
+ {
+ // store the name of this test case
+ _LIT(ret,"Test2.2");
+
+ return ret;
+ }
+
+CEsockTest2_2::~CEsockTest2_2()
+ {
+ }
+
+enum TVerdict CEsockTest2_2::easyTestStepPreambleL()
+ {
+ if (KErrNone != OpenMinSockets(_L("Test_2.2"),KAfInet, KSockStream, KProtocolInetTcp))
+ {
+ return EFail;
+ }
+
+ return EPass;
+ }
+
+enum TVerdict CEsockTest2_2::easyTestStepL()
+ {
+ TESTL(EPass == TestStepResult());
+ // bind to an illegal port number
+
+ // get IP address
+ TInetAddr addr;
+ TESTL(GetIpAddressFromConfig(SectionName(_L("Test_2.2")), _L("ipAddress"), addr));
+
+ // set port number to invalid value
+ addr.SetPort(65537);
+
+ // socket already opened - retrieve
+ // socket handle and bind
+ TInt nRet = iEsockSuite->GetSocketHandle(1).Bind(addr);
+
+ TESTEL(nRet == KErrTooBig, nRet);
+
+ return EPass;
+ }
+
+
+// Test step 2.3
+const TDesC& CEsockTest2_3::GetTestName()
+ {
+ // store the name of this test case
+ _LIT(ret,"Test2.3");
+
+ return ret;
+
+ }
+
+CEsockTest2_3::~CEsockTest2_3()
+ {
+ }
+
+enum TVerdict CEsockTest2_3::easyTestStepPreambleL()
+ {
+ if (KErrNone != OpenMinSockets(_L("Test_2.3"),KAfInet, KSockStream, KProtocolInetTcp))
+ {
+ return EFail;
+ }
+
+ return EPass;
+ }
+
+enum TVerdict CEsockTest2_3::easyTestStepL()
+ {
+ TESTL(EPass == TestStepResult());
+ // bind to an illegal address
+
+ // get IP address
+ TInetAddr addr;
+ TESTL(GetIpAddressFromConfig(SectionName(_L("Test_2.3")), _L("ipAddress"), addr));
+
+ // set port number to a valid value
+ addr.SetPort(7);
+
+ // socket already opened - retrieve
+ // socket handle and bind
+ TInt nRet = iEsockSuite->GetSocketHandle(1).Bind(addr);
+
+ TESTEL(nRet == KErrNotFound, nRet);
+
+ return EPass;
+ }
+
+
+// Test step 2.4
+const TDesC& CEsockTest2_4::GetTestName()
+ {
+ // store the name of this test case
+ _LIT(ret,"Test2.4");
+
+ return ret;
+ }
+
+CEsockTest2_4::~CEsockTest2_4()
+ {
+ }
+
+enum TVerdict CEsockTest2_4::easyTestStepPreambleL()
+ {
+ if (KErrNone != OpenMinSockets(_L("Test_2.4"),KAfInet, KSockStream, KProtocolInetTcp, 2))
+ {
+ return EFail;
+ }
+
+ return EPass;
+ }
+
+enum TVerdict CEsockTest2_4::easyTestStepL()
+ {
+ TESTL(EPass == TestStepResult());
+ // double bind on different sockets
+
+ // get IP address
+ TInetAddr addr;
+ TESTL(GetIpAddressFromConfig(SectionName(_L("Test_2.4")), _L("ipAddress"), addr));
+
+ // set port number to a valid value
+ addr.SetPort(9);
+
+ // socket already opened - retrieve
+ // socket handle and bind
+ TInt nRet = iEsockSuite->GetSocketHandle(1).Bind(addr);
+
+ // bind should succeed
+ TESTEL(nRet == KErrNone, nRet);
+
+ // socket already opened - retrieve
+ // socket handle and bind again to same address
+ nRet = iEsockSuite->GetSocketHandle(2).Bind(addr);
+
+ // second bind should fail
+ TESTEL(nRet == KErrInUse, nRet);
+
+ return EPass;
+ }
+
+
+// Test step 2.5
+const TDesC& CEsockTest2_5::GetTestName()
+ {
+ // store the name of this test case
+ _LIT(ret,"Test2.5");
+
+ return ret;
+ }
+
+CEsockTest2_5::~CEsockTest2_5()
+ {
+ }
+
+enum TVerdict CEsockTest2_5::easyTestStepPreambleL()
+ {
+ if (KErrNone != OpenMinSockets(_L("Test_2.5"),KAfInet, KSockStream, KProtocolInetTcp))
+ {
+ return EFail;
+ }
+
+ return EPass;
+ }
+
+enum TVerdict CEsockTest2_5::easyTestStepL()
+ {
+ TESTL(EPass == TestStepResult());
+
+ // get port numbers
+ TInt port1, port2;
+ TESTL(GetIntFromConfig(SectionName(_L("Test_2.5")), _L("port1"), port1));
+ TESTL(GetIntFromConfig(SectionName(_L("Test_2.5")), _L("port2"), port2));
+
+ // set the local port number to port1
+ TInt nRet = iEsockSuite->GetSocketHandle(1).SetLocalPort(port1);
+ TESTEL(nRet == KErrNone, nRet);
+
+ // check port has been set correctly
+ TUint port = iEsockSuite->GetSocketHandle(1).LocalPort();
+ TESTL(port == (TUint)port1);
+
+ // set the local port number to port2
+ // check that this is not successful
+ nRet = iEsockSuite->GetSocketHandle(1).SetLocalPort(port2);
+ TESTEL(nRet == KErrAlreadyExists, nRet);
+
+ // check port has not been changed
+ port = iEsockSuite->GetSocketHandle(1).LocalPort();
+ TESTL(port == (TUint)port1);
+
+ return EPass;
+ }
+