telephonyserverplugins/simtsy/test/Te_Sim/Te_SimPacketFinalContextTest.cpp
changeset 0 3553901f7fa8
child 24 6638e7f4bd8f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyserverplugins/simtsy/test/Te_Sim/Te_SimPacketFinalContextTest.cpp	Tue Feb 02 01:41:59 2010 +0200
@@ -0,0 +1,140 @@
+// Copyright (c) 2005-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:
+//
+
+/**
+ @file
+*/
+
+#include "Te_SimPacketFinalContextTest.h"
+
+CSimPacketFinalContextTest::CSimPacketFinalContextTest() 
+	{ 
+	SetTestStepName(_L("FinalContextTest"));
+	}
+
+TVerdict CSimPacketFinalContextTest::doTestStepL()
+	{
+	INFO_PRINTF1(_L("BeginPacketFinalContextTest"));
+
+ 	CreateConfigFileL(_L("c:\\config3.txt"));
+ 	SetTestNumberL(6);
+
+	TInt ret = iPhone.Open(iTelServer,KPhoneName); 
+	INFO_PRINTF2(_L("Result: %d"),ret); 
+	TESTL(ret == KErrNone); 
+	INFO_PRINTF1(_L("Opened phone object"));
+	TESTL(iPacketService.Open(iPhone)==KErrNone);
+	INFO_PRINTF1(_L("Opened Packet object"));
+
+	TRequestStatus reqStatus;
+
+	// test RPacketContext::OpenNewContext
+	TName contextName;
+	TName contextNameCompare;
+	TESTL(iFirstPrimaryPacketContext.OpenNewContext(iPacketService, contextName)==KErrNone);
+	contextNameCompare.Append(KSimPrimaryPacketContextName);
+	contextNameCompare.AppendNum(1);
+	TESTL(contextName.Compare(contextNameCompare)==KErrNone);
+	INFO_PRINTF1(_L("Opened Context object"));
+
+	// test RPacketContext::Activate
+	StartNTRasSimulation();
+	iFirstPrimaryPacketContext.Activate(reqStatus);
+	User::WaitForRequest(reqStatus);
+	TESTL(reqStatus.Int()==KErrNone);
+	INFO_PRINTF1(_L("Activate test passed"));
+
+	// test RPacketContext::InitialiseContext
+	RPacketContext::TDataChannelV2 channelV2;
+	RPacketContext::TDataChannelV2Pckg channelV2pckg(channelV2); 	
+	iFirstPrimaryPacketContext.InitialiseContext(reqStatus, channelV2pckg);
+	User::WaitForRequest(reqStatus);
+	CHECKPOINTL(reqStatus.Int(),KErrNone,CHP_CNTXT_CASE("E.41"));	
+
+	// test RPacketContext::LoanCommPort
+	RCall::TCommPort commPort;
+	iFirstPrimaryPacketContext.LoanCommPort(reqStatus, commPort);
+	iFirstPrimaryPacketContext.CancelAsyncRequest(EPacketContextLoanCommPort);//does nothing
+	User::WaitForRequest(reqStatus);
+	TESTL(commPort.iCsy==DPCKTTSY_CSY);
+	TESTL(commPort.iPort==DPCKTTSY_PORT);
+	CHECKPOINTL(reqStatus.Int(),KErrNone,CHP_CNTXT_CASE("E.23"));
+	INFO_PRINTF1(_L("Loan Comm Port test passed"));
+
+	_LIT8(KWriteTestData,"SIMULATOR TSY PACKET TEST"); 
+	_LIT(KPortName,"LOOPBACK::1");
+	_LIT(KCsyName,"LOOPBACK.CSY");
+
+	RCommServ cs;
+	
+	cs.Connect();
+	cs.LoadCommModule(KCsyName);
+
+	RComm port;
+	TESTL(port.Open(cs,KPortName,ECommShared)==KErrNone);
+
+	port.Write(reqStatus,KWriteTestData);
+	User::WaitForRequest(reqStatus);
+	TESTL(reqStatus.Int()==KErrNone);
+
+	port.Close();
+	cs.Close();
+
+	// test RPacketContext::RecoverCommPort
+	iFirstPrimaryPacketContext.RecoverCommPort(reqStatus);
+	iFirstPrimaryPacketContext.CancelAsyncRequest(EPacketContextRecoverCommPort);
+	User::WaitForRequest(reqStatus);
+	CHECKPOINTL(reqStatus.Int(),KErrNone,CHP_CNTXT_CASE("E.24"));
+	INFO_PRINTF1(_L("Recover Comm Port test passed"));
+	
+	// test RPacketContext::Deactivate
+	iFirstPrimaryPacketContext.Deactivate(reqStatus);
+	User::WaitForRequest(reqStatus);
+	CHECKPOINTL(reqStatus.Int(),KErrNone,CHP_CNTXT_CASE("E.25"));
+	INFO_PRINTF1(_L("Deactivate test passed"));
+
+	// test RPacketContext::Delete
+	iFirstPrimaryPacketContext.Delete(reqStatus);
+	iFirstPrimaryPacketContext.CancelAsyncRequest(EPacketContextDelete);
+	User::WaitForRequest(reqStatus);
+	if (reqStatus.Int()==KErrNone)
+		{
+		INFO_PRINTF1(_L("Delete request completed before its cancelation"));
+		}
+	else if (reqStatus.Int()==KErrCancel)
+		{
+		INFO_PRINTF1(_L("Delete Cancel test passed"));
+		// successfully canceled, reissue the async. request again
+		iFirstPrimaryPacketContext.Delete(reqStatus);
+		User::WaitForRequest(reqStatus);
+		}
+	TESTL(reqStatus.Int()==KErrNone);
+	INFO_PRINTF1(_L("Delete test passed"));
+	
+	// test RPacketContext::Detach
+	iPacketService.Detach(reqStatus);
+	User::WaitForRequest(reqStatus);
+	TESTL(reqStatus==KErrNone);
+	INFO_PRINTF1(_L("Packet Detach Successful"));
+
+	// End of RPacketContext and RPacketService tests
+	iFirstPrimaryPacketContext.Close();
+	iPacketService.Close();
+	iPhone.Close();
+	ASSERT(RThread().RequestCount()==0);
+
+	return TestStepResult();
+	}
+