messagingappbase/smsmtm/test/src/T_SmsRegress.cpp
changeset 25 84d9eb65b26f
parent 23 238255e8b033
child 27 e4592d119491
child 37 518b245aa84c
child 79 2981cb3aa489
--- a/messagingappbase/smsmtm/test/src/T_SmsRegress.cpp	Fri Apr 16 14:56:15 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,405 +0,0 @@
-// Copyright (c) 2000-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:
-//
-
-#include "T_SmsRegress.h"
-#include <smscmds.h>
-_LIT(KSmsScript, "sms.script");
-
-GLDEF_C TInt E32Main()
-	{	
-	__UHEAP_MARK;
-	test.Start(_L("Setup"));
-	theCleanup = CTrapCleanup::New();
-	TRAPD(ret,doMainL());		
-	test(ret==KErrNone);
-	delete theCleanup;	
-	test.Console()->SetPos(0, 13);
-	test.End();
-	test.Close();
-	__UHEAP_MARKEND;
-	return(KErrNone);
-	}
-
-LOCAL_C void doMainL()
-	{
-	CActiveScheduler* scheduler = new (ELeave) CActiveScheduler;
-	CleanupStack::PushL(scheduler);
-	CActiveScheduler::Install(scheduler);
-
-	CSmsTestUtils* smsTest = CSmsTestUtils::NewL(test);
-	CleanupStack::PushL(smsTest);
-	TInt nextTest = 0;
-
-	smsTest->NotifySaPhoneOnL();
-	
-	CSmsRegressTest* SmcmTest = CSmsRegressTest::NewLC(*smsTest, KNullDesC, nextTest);
-
-	smsTest->WaitForInitializeL();
-
-	SmcmTest->StartL();
-
-	CleanupStack::PopAndDestroy(3); //SmcmTest. scheduler
-	}
-
-CSmsRegressTest::CSmsRegressTest(CSmsTestUtils& aSmsTest, const TDesC& aScriptFile, TInt& aNextTest)
-: CSmsTestBase(aSmsTest, aScriptFile, aNextTest), iOperations(aSmsTest)
-	{
-	CActiveScheduler::Add(this);
-	}
-
-void CSmsRegressTest::RunAutoL()
-	{
-	iNextTest = 0;
-
-	iSmsTest.TestStart(++iNextTest, _L("Test2SMSSInstances"));  
-	Test2SMSSInstancesL();
-	User::LeaveIfError(iStatus.Int());
-	iSmsTest.TestFinish(iNextTest);
-	}
-
-void CSmsRegressTest::Test2SMSSInstancesL()
-	{
-	TTime now;
-	now.HomeTime();
-
-	CMsvEntrySelection* sel = new (ELeave) CMsvEntrySelection;
-	CleanupStack::PushL(sel);
-
-	iSmsTest(iSmsTest.ReadScriptL(KSmsScript, KMsvGlobalOutBoxIndexEntryId, *sel, now));
-	iSmsTest.SetEntryL(KMsvGlobalOutBoxIndexEntryId);
-
-	CMsvOperationWait* wait = CMsvOperationWait::NewLC();
-	wait->Start();
-
-	CMsvOperation* op = iSmsTest.iMsvEntry->CopyL((*sel)[0], KMsvGlobalOutBoxIndexEntryId, wait->iStatus);
-	CleanupStack::PushL(op);
-	CActiveScheduler::Start();
-
-	TMsvLocalOperationProgress prog;
-	TPckgC<TMsvLocalOperationProgress> pkg(prog);
-	pkg.Set(op->ProgressL());
-	prog = pkg();
-	User::LeaveIfError(prog.iError);
-
-	const TMsvId sms1 = (*sel)[0];
-	const TMsvId sms2 = prog.iId;
-
-	CleanupStack::PopAndDestroy(2); //wait, op
-
-	_LIT(KDesc1, "Remote");
-	_LIT(KDesc2, "Local");
-
-	iSmsTest.SetEntryL(sms1);
-	TMsvEntry entry(iSmsTest.Entry());
-	entry.iDescription.Set(KDesc1);
-	iSmsTest.ChangeEntryL(entry);
-	
-	iSmsTest.SetEntryL(sms2);
-	entry = iSmsTest.Entry();
-	entry.iServiceId = KMsvLocalServiceIndexEntryId;
-	entry.iDescription.Set(KDesc2);
-	iSmsTest.ChangeEntryL(entry);
-
-	iSmsTest.Printf(_L("Test2SMSSInstancesL for 2 messages:\n"));
-	iSmsTest.DisplayMessageL(sms1);
-	iSmsTest.DisplayMessageL(sms2);
-
-	iOperations.ResetAndDestroy();
-
-	//Start first operation
-	COpActive* opActive = new (ELeave) COpActive(iOperations, sms1);
-	CleanupStack::PushL(opActive);
-	iSmsTest.SetEntryL(KMsvGlobalOutBoxIndexEntryId);
-	opActive->iOperation = iSmsTest.iMsvEntry->CopyL(opActive->Id(), iSmsTest.iSmsServiceId, opActive->Status());
-	iOperations.AppendL(opActive);
-	CleanupStack::Pop(opActive);
-	
-	//Start second operation
-	opActive = new (ELeave) COpActive(iOperations, sms2);
-	CleanupStack::PushL(opActive);
-	iSmsTest.SetEntryL(KMsvGlobalOutBoxIndexEntryId);
-	sel->Reset();
-	sel->AppendL(opActive->Id());
-	opActive->iOperation = iSmsTest.iMsvSession->TransferCommandL(*sel, ESmsMtmCommandScheduleCopy, KNullDesC8, opActive->Status());
-	iOperations.AppendL(opActive);
-	CleanupStack::Pop(opActive);
-
-	CleanupStack::PopAndDestroy(sel);
-
-	iState = ETest2SMSSInstances;
-	iOperations.Start(iStatus);
-	SetActive();
-	CActiveScheduler::Start();
-	}
-
-
-CSmsRegressTest::~CSmsRegressTest()
-	{
-	Cancel();
-	delete iWatchers;
-
-	iSocket.Close();
-	iSocketServ.Close();
-	}
-
-void CSmsRegressTest::ConstructL()
-	{
-	iSmsTest.SetLogToFile();
-	iTimer = CTestTimer::NewL();
-
-	User::LeaveIfError(iSocketServ.Connect());
-	TProtocolDesc protoinfo;
-	TProtocolName protocolname(KSmsDatagram);
-	User::LeaveIfError(iSocketServ.FindProtocol(protocolname,protoinfo));
-	User::LeaveIfError(iSocket.Open(iSocketServ,protoinfo.iAddrFamily,protoinfo.iSockType,protoinfo.iProtocol));
-	
-	TSmsAddr smsaddr;
-	smsaddr.SetSmsAddrFamily(ESmsAddrSendOnly);
-	User::LeaveIfError(iSocket.Bind(smsaddr));
-	}
-
-void CSmsRegressTest::DoCancel()
-	{
-	iOperations.Cancel();
-	iTimer->Cancel();
-	}
-
-void CSmsRegressTest::DoRunTest2SMSSInstancesL()
-	{
-	TInt count = iOperations.Count();
-	
-	while (count-- && !IsActive())
-		{
-		const COpActive& active = *iOperations[count];
-		iSmsTest.SetEntryL(active.Id());
-		const TMsvEntry& entry = iSmsTest.Entry();
-		switch (entry.SendingState())
-			{
-			case KMsvSendStateSent:
-			case KMsvSendStateFailed:
-				iSmsTest.Printf(_L("%d Complete [SendingState=%d]\n"), entry.Id(), entry.SendingState());
-				break; //do nothing
-			default:
-				iSmsTest.Printf(_L("%d Active [SendingState=%d]\n"), entry.Id(), entry.SendingState());
-				iTimer->AfterReq(2000000, iStatus);
-				SetActive();
-				break;
-			}
-		}
-	}
-
-void CSmsRegressTest::RunL()
-	{
-	User::LeaveIfError(iStatus.Int());
-
-	switch (iState)
-		{
-		case ETest2SMSSInstances:
-			DoRunTest2SMSSInstancesL();
-			break;
-		default:
-			iSmsTest(EFalse);
-			break;
-		}
-
-	if (!IsActive())
-		CActiveScheduler::Stop();
-	}
-
-TInt CSmsRegressTest::RunError(TInt aError)
-	{
-	iSmsTest.Printf(_L("CSmsRegressTest::RunError [iStatus=%d aError, iState=%d]\n"), iStatus.Int(), aError, iState);
-
-	if (iStatus.Int() == KErrNone)
-		iStatus = aError;
-
-	CActiveScheduler::Stop();
-	return KErrNone;
-	}
-
-CSmsRegressTest* CSmsRegressTest::NewLC(CSmsTestUtils& aSmsTest, const TDesC& aScriptFile, TInt& aNextTest)
-	{
-	CSmsRegressTest* self = new (ELeave) CSmsRegressTest(aSmsTest, aScriptFile, aNextTest);
-	CleanupStack::PushL(self);
-
-	self->ConstructL();
-
-	return self;
-	}
-
-void CSmsRegressTest::ShowMenuL()
-	{
-	iSmsTest.ResetMenu();
-
-	iSmsTest.AppendToMenuL(_L("Start"));
-
-	TInt result = iSmsTest.DisplayMenu(_L("SMS Client MTM Test"));
-
-	if (result <= 0)
-		return;
-
-	switch (result)
-		{
-		case 1:
-			RunAutoL();
-			break;
-		default:
-			User::Leave(KErrArgument);
-			break;
-		}
-
-	if (!iSmsTest.RunAuto())
-		{
-		iSmsTest.Printf(_L("Press any key to continue...\n"));
-		iSmsTest.Test().Getch();
-		}
-
-	ShowMenuL();
-	}
-
-/*
-TBool CSmsRegressTest::CompareSettings(const CSmsSettings& aLeft, const CSmsSettings& aRight, TBool aTestSC)
-	{
-	TCompare compare(CompareMessageSettings(aLeft, aRight));
-
-	compare(aLeft.CommDbAction() == aRight.CommDbAction());
-	compare(aLeft.SmsBearerAction() == aRight.SmsBearerAction());
-	compare(aLeft.SmsBearer() == aRight.SmsBearer());
-	compare(aLeft.Delivery() == aRight.Delivery());
-	compare(CompareBools(aLeft.ReplyQuoted(), aRight.ReplyQuoted()));
-	compare(aLeft.SpecialMessageHandling() == aRight.SpecialMessageHandling());
-	compare(aLeft.StatusReportHandling() == aRight.StatusReportHandling());
-
-	if (aTestSC)
-		{
-		compare(aLeft.DefaultSC() == aRight.DefaultSC());
-		compare(aLeft.NumSCAddresses() == aRight.NumSCAddresses());
-
-		TInt count = aLeft.NumSCAddresses();
-
-		while (count--)
-			{
-			compare(CompareNumbers(aLeft.SCAddress(count), aRight.SCAddress(count)));
-			}
-		}
-
-	return compare;
-	}
-
-TBool CSmsRegressTest::CompareMessageSettings(const CSmsMessageSettings& aLeft, const CSmsMessageSettings& aRight)
-	{
-	TCompare compare(CompareBools(aLeft.CanConcatenate(), aRight.CanConcatenate()));
-	compare(aLeft.CharacterSet() == aRight.CharacterSet());
-	compare(CompareBools(aLeft.DeliveryReport(), aRight.DeliveryReport()));
-	compare(aLeft.MessageConversion() == aRight.MessageConversion());
-	compare(CompareBools(aLeft.RejectDuplicate(), aRight.RejectDuplicate()));
-	compare(CompareBools(aLeft.ReplyPath(), aRight.ReplyPath()));
-	compare(aLeft.ValidityPeriod() == aRight.ValidityPeriod());
-	compare(aLeft.ValidityPeriodFormat() == aRight.ValidityPeriodFormat());
-	return compare;
-	}
-
-TBool CSmsRegressTest::CompareNumbers(const CSmsNumber& aLeft, const CSmsNumber& aRight)
-	{
-	TCompare compare(aLeft.Name() == aRight.Name());
-	compare(aLeft.Address() == aRight.Address());
-	compare(aLeft.LogId() == aRight.LogId());
-	return compare;
-	}
-*/
-COpActive::COpActive(COpActiveArray& aParent, TMsvId aId, TInt aPriority)
-: CActive(aPriority), iParent(aParent), iSmsTest(aParent.iSmsTest), iId(aId)
-	{
-	CActiveScheduler::Add(this);
-	}
-
-COpActive::~COpActive()
-	{
-	Cancel();
-	delete iOperation;
-	}
-
-void COpActive::RunL()
-	{
-	iSmsTest.Printf(_L("COpActive::RunL [iStatus=%d]\n"), iStatus.Int());
-	User::LeaveIfError(iStatus.Int());
-	iSmsTest.SetProgressL(*iOperation);
-	iSmsTest.Printf(_L("COpActive::RunL [Progress.iError=%d]\n"), iSmsTest.iProgress.iError);
-	User::LeaveIfError(iSmsTest.iProgress.iError);
-	Complete(KErrNone);
-	}
-
-void COpActive::DoCancel()
-	{
-	iOperation->Cancel();
-	Complete(KErrCancel);
-	}
-
-TInt COpActive::RunError(TInt aError)
-	{
-	Complete(aError);
-	return KErrNone;
-	}
-
-void COpActive::Complete(TInt aError)
-	{
-	iParent.ActiveComplete(*this, aError);
-	}
-
-COpActiveArray::COpActiveArray(CSmsTestUtils& aSmsTest)
-: CArrayPtrFlat<COpActive>(1), iSmsTest(aSmsTest)
-	{
-	}
-
-COpActiveArray::~COpActiveArray()
-	{
-	Cancel();
-	ResetAndDestroy();
-	}
-
-void COpActiveArray::Cancel()
-	{
-	TInt count = Count();
-
-	while (count--)
-		At(count)->Cancel();
-	}
-
-void COpActiveArray::Start(TRequestStatus& aStatus)
-	{
-	aStatus = KRequestPending;
-	iReport = &aStatus;
-	}
-
-void COpActiveArray::ActiveComplete(const CActive& aActive, TInt aError)
-	{
-	iSmsTest.Printf(_L("COpActiveArray::ActiveComplete [Id=aActive.Id() aError=%d]\n"), &aActive, aError);
-	
-	if (iReport != NULL)
-		{
-		if (aError != KErrNone)
-			User::RequestComplete(iReport, aError);
-		else
-			{
-			TInt count = Count();
-			TBool active = EFalse;
-			while (!active && count--)
-				active = active || At(count)->IsActive();
-
-			if (!active)
-				User::RequestComplete(iReport, KErrNone);
-			}
-		}
-	}