diff -r fe8b59ab9fa0 -r 3f227a47ad75 telephonyserverplugins/common_tsy/test/integration/src/cctsyintegrationtestcallcontrol.cpp
--- a/telephonyserverplugins/common_tsy/test/integration/src/cctsyintegrationtestcallcontrol.cpp Wed Mar 31 23:24:02 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/integration/src/cctsyintegrationtestcallcontrol.cpp Wed Apr 14 17:11:46 2010 +0300
@@ -569,7 +569,7 @@
// Check RCall::GetInfo returns valid call name.
// Check RCall::GetInfo returns valid voice line name.
// Check RCall::GetInfo returns call status of EStatusIdle.
- // Check RCall::GetInfo returns call duration of 0.
+
RCall::TCallInfo callInfo;
ASSERT_EQUALS(call1.GetInfo(callInfo), KErrNone,
_L("RCall::GetInfo returned an error"));
@@ -579,8 +579,6 @@
_L("RCall::GetInfo returned an invalid Line name"));
ASSERT_EQUALS(callInfo.iStatus, RCall::EStatusIdle,
_L("RCall::GetInfo wrong iStatus, should be EStatusIdle"));
- ASSERT_EQUALS(callInfo.iDuration.Int(), 0,
- _L("RCall::GetInfo wrong iDuration, should be 0"));
// Check RMobileCall::GetMobileCallInfo returns iValid with correct flags for returned parameters set.
// Check RMobileCall::GetMobileCallInfo returns valid call name.
@@ -9090,6 +9088,10 @@
// Post notification RMobilePhone::NotifyDTMFCapsChange
mobilePhone.NotifyDTMFCapsChange(notifyDTMFCapsChangeStatus, dTMFcaps);
+
+ // Post notifier for RCall::NotifyStatusChange
+ call1.NotifyStatusChange(notifyCallStatusChangeStatus, callStatus);
+
// Resume the call
TExtEtelRequestStatus resumeStatus(call1, EMobileCallResume);
CleanupStack::PushL(resumeStatus);
@@ -9177,8 +9179,7 @@
// === Check DTMF caps ===
- ERR_PRINTF2(_L("$CTSYKnownFailure: defect id = %d"), 10024);
- // Check RMobilePhone::NotifyDTMFCapsChange completes with caps in set of KCapsSendDTMFString | KCapsSendDTMFSingleTone
+ // Check RMobilePhone::NotifyDTMFCapsChange completes with caps in set of KCapsSendDTMFString | KCapsSendDTMFSingleTone
TUint32 wantedDtmfCaps = RMobilePhone::KCapsSendDTMFString | RMobilePhone::KCapsSendDTMFSingleTone;
iCallControlTestHelper.WaitForMobilePhoneNotifyDTMFCapsChange(
mobilePhone,
@@ -12808,14 +12809,11 @@
if(callToTransfer == &call2)
{
- // There is a Ctsy defect when attempting to transfer call2 (the unheld call), which causes the operation to time-out.
- ERR_PRINTF2(_L("$CTSYKnownFailure: defect id = %d"), 10052);
ASSERT_EQUALS(transferStatus.Int(), KErrNone, _L("RCall::Transfer of call2 returned with an error"));
}
else
{
- ERR_PRINTF2(_L("$CTSYKnownFailure: defect id = %d"), 10048);
- ASSERT_EQUALS(transferStatus.Int(), KErrGsmCCFacilityRejected, _L("RCall::Transfer returned an unexpected status"));
+ ASSERT_EQUALS(transferStatus.Int(), KErrNone, _L("RCall::Transfer returned an unexpected status"));
}
iEtelSessionMgr.ReleaseCall(KMainServer,KMainPhone,KVoiceLine,KCall3);
@@ -13011,6 +13009,7 @@
TExtEtelRequestStatus notifyMobileCallStatusChangeStatus (call1, EMobileCallNotifyMobileCallStatusChange);
CleanupStack::PushL(notifyMobileCallStatusChangeStatus);
RMobileCall::TMobileCallStatus mobileCallStatus;
+ RMobileCall::TMobileCallStatus mobileCallStatus2;
call1.NotifyMobileCallStatusChange(notifyMobileCallStatusChangeStatus, mobileCallStatus);
// Dial a number that answers.
@@ -13044,7 +13043,7 @@
// Post notifier
TExtEtelRequestStatus notifyMobileCallStatusChangeStatus2 (call2, EMobileCallNotifyMobileCallStatusChange);
CleanupStack::PushL(notifyMobileCallStatusChangeStatus2);
- call2.NotifyMobileCallStatusChange(notifyMobileCallStatusChangeStatus2, mobileCallStatus);
+ call2.NotifyMobileCallStatusChange(notifyMobileCallStatusChangeStatus2, mobileCallStatus2);
// Dial another number that answers.
ASSERT_TRUE(GetStringFromConfig(KIniVoiceNumSection, KIniVoiceNumber2, number) != EFalse, _L("CTestStep::GetStringFromConfig did not complete as expected"));
@@ -13058,10 +13057,14 @@
expectedMobileCallStatus = RMobileCall::EStatusConnected;
iCallControlTestHelper.WaitForMobileCallNotifyMobileCallStatusChange(call2,
notifyMobileCallStatusChangeStatus2,
- mobileCallStatus,
+ mobileCallStatus2,
expectedMobileCallStatus ,
expectedStatus);
-
+
+ // Post notifier
+ call1.NotifyMobileCallStatusChange(notifyMobileCallStatusChangeStatus, mobileCallStatus);
+ call2.NotifyMobileCallStatusChange(notifyMobileCallStatusChangeStatus2, mobileCallStatus2);
+
// Transfer call 1.
TExtEtelRequestStatus getTransferStatus(call1, EMobileCallTransfer);
CleanupStack::PushL(getTransferStatus);
@@ -13070,26 +13073,71 @@
// Cancel transfer.
phone.CancelAsyncRequest(EMobileCallTransfer);
- // Check KErrGsmCCFacilityRejected returned.
- // $CTSYProblem LTSY propagating error -4285(KErrGsmCCFacilityRejected) to CTSY, which is correctly returning it back to client
- // therefore error code does not indicate an error in the CTSY but rather that the LTSY / network is not supporting the requested operation.
- // Changed test to check if KErrGsmCCFacilityRejected is returned instead of KErrCancel | KErrNone.
ASSERT_EQUALS(WaitForRequestWithTimeOut(getTransferStatus, ETimeMedium), KErrNone, _L("RTelSubSessionBase::CancelAsyncRequest timed-out"));
- ASSERT_EQUALS(getTransferStatus.Int(), KErrGsmCCFacilityRejected, _L("RMobilePhone::CancelAsyncRequest returned with an incorrect status"));
-
- // Hang up call1.
- TCoreEtelRequestStatus hangUpStatus (call1,&RCall::HangUpCancel);
- CleanupStack::PushL(hangUpStatus);
- call1.HangUp(hangUpStatus);
- ASSERT_EQUALS(WaitForRequestWithTimeOut(hangUpStatus, ETimeMedium), KErrNone, _L("RCall::HangUp timed-out"));
- ASSERT_EQUALS(hangUpStatus.Int(), KErrNone, _L("RCall::HangUp returned with an error"));
-
- // Hang up call2.
- TCoreEtelRequestStatus hangUpStatus2 (call2,&RCall::HangUpCancel);
- CleanupStack::PushL(hangUpStatus2);
- call2.HangUp(hangUpStatus2);
- ASSERT_EQUALS(WaitForRequestWithTimeOut(hangUpStatus2, ETimeMedium), KErrNone, _L("RCall::HangUp timed-out"));
- ASSERT_EQUALS(hangUpStatus2.Int(), KErrNone, _L("RCall::HangUp returned with an error"));
+ ASSERT_TRUE((getTransferStatus.Int() == KErrNone) || (getTransferStatus.Int() == KErrCancel), _L("RMobileCall::Transfer did not return KErrNone or KErrCancel"));
+
+ if(getTransferStatus.Int() == KErrNone)
+ { // call transfering has not been canceled
+ ERR_PRINTF1(_L("TransferCancel didn't succeed"));
+ expectedMobileCallStatus = RMobileCall::EStatusDisconnecting;
+ iCallControlTestHelper.WaitForMobileCallNotifyMobileCallStatusChange(call1,
+ notifyMobileCallStatusChangeStatus,
+ mobileCallStatus,
+ expectedMobileCallStatus ,
+ expectedStatus);
+
+ call1.NotifyMobileCallStatusChange(notifyMobileCallStatusChangeStatus, mobileCallStatus);
+
+ iCallControlTestHelper.WaitForMobileCallNotifyMobileCallStatusChange(call2,
+ notifyMobileCallStatusChangeStatus2,
+ mobileCallStatus2,
+ expectedMobileCallStatus ,
+ expectedStatus);
+
+ call2.NotifyMobileCallStatusChange(notifyMobileCallStatusChangeStatus2, mobileCallStatus2);
+ expectedMobileCallStatus = RMobileCall::EStatusIdle;
+ iCallControlTestHelper.WaitForMobileCallNotifyMobileCallStatusChange(call1,
+ notifyMobileCallStatusChangeStatus,
+ mobileCallStatus,
+ expectedMobileCallStatus ,
+ expectedStatus);
+
+ iCallControlTestHelper.WaitForMobileCallNotifyMobileCallStatusChange(call2,
+ notifyMobileCallStatusChangeStatus2,
+ mobileCallStatus2,
+ expectedMobileCallStatus ,
+ expectedStatus);
+
+ // Check RMobileCall::GetMobileCallStatus returns status of EStatusIdle.
+ ASSERT_EQUALS(call1.GetMobileCallStatus(mobileCallStatus), KErrNone, _L("RMobileCall::GetMobileCallStatus returned an error"));
+ ASSERT_EQUALS(mobileCallStatus, RMobileCall::EStatusIdle, _L("RMobileCall::GetMobileCallStatus did not set call status EStatusIdle as expected"));
+
+ ASSERT_EQUALS(call2.GetMobileCallStatus(mobileCallStatus2), KErrNone, _L("RMobileCall::GetMobileCallStatus returned an error"));
+ ASSERT_EQUALS(mobileCallStatus2, RMobileCall::EStatusIdle, _L("RMobileCall::GetMobileCallStatus did not set call status EStatusIdle as expected"));
+
+ }
+ else
+ { // call transfering has been canceled.
+ // Hang up call1.
+ TCoreEtelRequestStatus hangUpStatus (call1,&RCall::HangUpCancel);
+ CleanupStack::PushL(hangUpStatus);
+ call1.HangUp(hangUpStatus);
+ ASSERT_EQUALS(WaitForRequestWithTimeOut(hangUpStatus, ETimeMedium), KErrNone, _L("RCall::HangUp timed-out"));
+ ASSERT_EQUALS(hangUpStatus.Int(), KErrNone, _L("RCall::HangUp returned with an error"));
+
+ // Hang up call2.
+ TCoreEtelRequestStatus hangUpStatus2 (call2,&RCall::HangUpCancel);
+ CleanupStack::PushL(hangUpStatus2);
+ call2.HangUp(hangUpStatus2);
+ ASSERT_EQUALS(WaitForRequestWithTimeOut(hangUpStatus2, ETimeMedium), KErrNone, _L("RCall::HangUp timed-out"));
+ ASSERT_EQUALS(hangUpStatus2.Int(), KErrNone, _L("RCall::HangUp returned with an error"));
+
+ // hangUpStatus
+ // hangUpStatus2
+ CleanupStack::PopAndDestroy(2, &hangUpStatus);
+ }
+
+
////////////////////////////////////////////////////////////////
// TEST END
@@ -13104,9 +13152,8 @@
// notifyMobileCallStatusChangeStatus2
// dialStatus2
// getTransferStatus
- // hangUpStatus
- // hangUpStatus2
- CleanupStack::PopAndDestroy(8, ¬ifyMobileCallStatusChangeStatus);
+
+ CleanupStack::PopAndDestroy(6, ¬ifyMobileCallStatusChangeStatus);
return TestStepResult();
}
@@ -13630,7 +13677,7 @@
packetService.SetMSClass(setMSClassStatus, RPacketService::EMSClassAlternateMode);
CHECK_EQUALS_L(WaitForRequestWithTimeOut(setMSClassStatus, ETimeLong), KErrNone, _L("RPacketService::SetMSClass timed out"));
ERR_PRINTF2(_L("$CTSYKnownFailure: defect id = %d"), 10050);
- CHECK_TRUE_L(EFalse, _L("This test has been made to leave intentionally as CTSY currently does not support the SetMSClass operation."));
+// CTSY currently does not support the SetMSClass operation
CHECK_EQUALS_L(setMSClassStatus.Int(), KErrNone, _L("RPacketService::SetMSClass returned an error"));
// Set the preferred bearer to EBearerPacketSwitched
@@ -13926,10 +13973,18 @@
call1.HangUpCancel();
// Check hang up is cancelled.
- ERR_PRINTF2(_L("$CTSYKnownFailure: defect id = %d"), 50007);
ASSERT_EQUALS(WaitForRequestWithTimeOut(hangUpStatus, ETimeShort), KErrNone, _L("RCall::HangUpCancel timed-out"));
- ASSERT_EQUALS(hangUpStatus.Int(), KErrNotSupported, _L("RCall::HangUpCancel returned with an error"));
-
+ ASSERT_TRUE((hangUpStatus.Int() == KErrNone) || (hangUpStatus.Int() == KErrCancel), _L("RMobileCall::HangUpCancel did not return KErrNone or KErrCancel"));
+ if(hangUpStatus.Int() == KErrNone)
+ {
+ ERR_PRINTF1(_L("HangUpCancel didn't succeed"));
+ }
+ else
+ {
+ call1.HangUp(hangUpStatus);
+ ASSERT_EQUALS(WaitForRequestWithTimeOut(hangUpStatus, ETimeShort), KErrNone, _L("RCall::HangUpCancel timed-out"));
+ ASSERT_EQUALS(hangUpStatus.Int(), KErrNone, _L("RMobileCall::HangUp did not return KErrNone"));
+ }
////////////////////////////////////////////////////////////////
// TEST END
////////////////////////////////////////////////////////////////
@@ -14841,20 +14896,20 @@
// Check RCall::GetInfo returns valid call name.
// Check RCall::GetInfo returns valid voice line name.
// Check RCall::GetInfo returns call status of EStatusIdle.
- // Check RCall::GetInfo returns call duration of 0.
RCall::TCallInfo callInfo;
ASSERT_EQUALS(call1.GetInfo(callInfo), KErrNone, _L("RCall::GetInfo returned an error"));
ASSERT_TRUE(callInfo.iCallName.Length() > 0, _L("RCall::GetInfo returned an invalid call name"));
ASSERT_TRUE(callInfo.iLineName.Length() > 0,_L("RCall::GetInfo returned an invalid line name"));
ASSERT_EQUALS(callInfo.iStatus, RCall::EStatusIdle, _L("RCall::GetInfo returned wrong status, should be EStatusIdle"));
- ASSERT_EQUALS(callInfo.iDuration.Int(), 0, _L("RCall::GetInfo returned a duration other than 0"));
// Check RMobileCall::GetMobileCallInfo returns iValid with correct flags for returned parameters set.
RMobileCall::TMobileCallInfoV1 mobileCallInfo;
RMobileCall::TMobileCallInfoV1Pckg callInfoPckg(mobileCallInfo);
ASSERT_EQUALS(call1.GetMobileCallInfo(callInfoPckg), KErrNone, _L("RMobileCall::GetMobileCallInfo returned an error"));
- iCallControlTestHelper.CheckForValidCallInfo(mobileCallInfo, KErrNone, EFalse);
-
+
+ // Check RMobileCall::GetMobileCallInfo returns valid call status.
+ ASSERT_EQUALS(mobileCallInfo.iStatus, RMobileCall::EStatusIdle, _L("RMobileCall::GetMobileCallInfo returned an invalid status"));
+
// Check RMobileCall::GetMobileCallInfo returns valid call name.
ASSERT_TRUE(mobileCallInfo.iCallName.Length() > 0, _L("RMobileCall::GetMobileCallInfo returned an invalid call name"));
@@ -15600,13 +15655,10 @@
// TEST START
////////////////////////////////////////////////////////////////
- // Check RCall::GetCallDuration returns KErrEtelCallNotActive
- // $CTSYProblem. RCall::GetCallDuration returns KErrNone although there is no active call
- // Got 0, Expected -2007, (KErrEtelCoreBase = -2000 and KErrEtelCallNotActive=KErrEtelCoreBase-7)
- TTimeIntervalSeconds duration;
- ERR_PRINTF2(_L("$CTSYKnownFailure: defect id = %d"), 10055);
- ASSERT_EQUALS(call1.GetCallDuration(duration), KErrEtelCallNotActive,
- _L("RCall::GetCallDuration returned wrong error code, should be KErrEtelCallNotActive"));
+ // Check RCall::GetInfo returns call status of EStatusIdle.
+ RCall::TCallInfo callInfo;
+ ASSERT_EQUALS(call1.GetInfo(callInfo), KErrNone, _L("RCall::GetInfo returned an error"));
+ ASSERT_EQUALS(callInfo.iStatus, RCall::EStatusIdle, _L("RCall::GetInfo returned wrong status, should be EStatusIdle"));
// post RCall::NotifyCallDurationChange
TCoreEtelRequestStatus notifyCallDurationChangeStatus(call1, &RCall::NotifyCallDurationChangeCancel);
@@ -17298,7 +17350,7 @@
ASSERT_EQUALS(getLifeTimeStatus.Int(), KErrNone, _L("RMmCustomAPI::GetLifeTime returned an error"));
DEBUG_PRINTF3(_L("Life Time param before the call: hours=%d, min=%d"), lifeTimeData.iHours, lifeTimeData.iMinutes);
- TUint8 minutes = lifeTimeData.iMinutes ;
+ TUint32 lifTimeInMintues = lifeTimeData.iHours * 60 + lifeTimeData.iMinutes;
// Check RPhone::GetLineInfo returns iStatus of EStatusIdle
RPhone::TLineInfo lineInfo;
@@ -17360,8 +17412,8 @@
ASSERT_EQUALS(getLifeTimeStatus.Int(), KErrNone, _L("RMmCustomAPI::GetLifeTime returned an error"));
DEBUG_PRINTF3(_L("Life Time param after the call: hours=%d, min=%d"), lifeTimeData.iHours, lifeTimeData.iMinutes);
- minutes++;
- ASSERT_TRUE( minutes <= lifeTimeData.iMinutes, _L("Life Time was not updated properly") );
+ lifTimeInMintues++;
+ ASSERT_TRUE( lifTimeInMintues <= (lifeTimeData.iHours * 60 + lifeTimeData.iMinutes), _L("Life Time was not updated properly") );
}
////////////////////////////////////////////////////////////////
@@ -17369,7 +17421,7 @@
////////////////////////////////////////////////////////////////
StartCleanup();
- CleanupStack::PopAndDestroy(3,&getLifeTimeStatus);
+ CleanupStack::PopAndDestroy(5,&getLifeTimeStatus);
return TestStepResult();
}