telephonyprotocols/pdplayer/umts/test/te_spudNetworkSide/src/te_spudNetworkSideSteps.cpp
--- a/telephonyprotocols/pdplayer/umts/test/te_spudNetworkSide/src/te_spudNetworkSideSteps.cpp Wed Jun 23 19:32:14 2010 +0300
+++ b/telephonyprotocols/pdplayer/umts/test/te_spudNetworkSide/src/te_spudNetworkSideSteps.cpp Tue Jul 06 15:36:38 2010 +0300
@@ -80,7 +80,7 @@
#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
TVerdict CSpudNetSideTestBase::doTestStepPostambleL()
- {
+ {
ClearPolicySelector2QosParametersTableL();
return TestStepResult();
}
@@ -97,7 +97,18 @@
TestL(RProperty::Set(KUidPSCsyWriteResultCategory, aPortNum, aErrorCode), _L("Set PSCsy write result"));
INFO_PRINTF3(_L("Next write on [PKTLOOPBACK::%d] is going to fail with [%d]"), aPortNum, aErrorCode);
}
-
+
+void CSpudNetSideTestBase::ClearNextPktLoopbackCsyWriteL(TInt aPortNum)
+ {
+ TInt dummy(0);
+ TInt ret = RProperty::Get(KUidPSCsyWriteResultCategory, aPortNum, dummy);
+ if(ret != KErrNotFound)
+ {
+ RProperty::Set(KUidPSCsyWriteResultCategory, aPortNum, KErrNone);
+ }
+ INFO_PRINTF2(_L("Reset to KErrNone for the next write on [PKTLOOPBACK::%d] port"), aPortNum);
+ }
+
/**
Blocks until Nifman progress notification is received.
@@ -1636,6 +1647,7 @@
StopSecondaryL();
+ ClearNextPktLoopbackCsyWriteL(loopbackPort);
return EPass;
}
@@ -1719,6 +1731,7 @@
// In the meanwhile, we sneak in and stop the interface.
StopInterfaceL();
+ ClearNextPktLoopbackCsyWriteL(loopbackPort);
return EPass;
};
@@ -1981,6 +1994,12 @@
// start rawipnif instance opposite the SPUD's secondary context, and open a socket on it
CConnectionStart *secondaryIfStart = CConnectionStart::NewLC(iEsock, *this, oppositeSecondaryIapId);
+
+ TRequestStatus progressReqSt;
+
+ secondaryIfStart->iInterface.ProgressNotification(iProgressBuf, progressReqSt, 7000);
+ WaitForProgressNotificationL(progressReqSt, 7000, 0); // We can wait here forever. Set timeout on test step.
+
#ifndef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
WaitForQoSEventL(_L("SecondaryActivationEvent2"), _L("SecondaryActivationEvent2Reason"));
#else
@@ -2247,6 +2266,20 @@
TestL(p->Start(iap1prefs),primaryCreationErr, _L("RConnection::Start the interface"));
}
+ //check if all contexts are still there
+ for (TInt i = 0; i < maximumConnections; i++)
+ {
+ TBuf<32> primaryIap;
+ primaryIap.Format(KPrimaryIapFormatLit, i + 1);
+ if (!GetIntFromConfig(ConfigSection(), primaryIap, primaryIapId))
+ {
+ User::Leave(KErrNotFound);
+ }
+ INFO_PRINTF2(_L("Verify context #%d is still there"), i);
+ VerifySubconnectionCountL(2, primaryIapId);
+ INFO_PRINTF2(_L("Context #%d is still there"), i);
+ }
+
for (TInt i = (interfaces.Count() - 1); i >= 0; i--)
{