serialserver/c32serialserver/Test/TE_C32/TE_c32server.cpp
changeset 0 dfb7c4ff071f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/serialserver/c32serialserver/Test/TE_C32/TE_c32server.cpp	Thu Dec 17 09:22:25 2009 +0200
@@ -0,0 +1,551 @@
+// Copyright (c) 2003-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 "TE_c32server.h"
+#include "TE_c32.h"
+
+_LIT(KServerName,"TE_C32");
+
+CC32TestServer* CC32TestServer::NewL()
+/**
+ * @return - Instance of the test server
+ * Called inside the MainL() function to create and start the
+ * CTestServer derived server.
+ */
+	{
+	CC32TestServer * server = new (ELeave) CC32TestServer();
+	CleanupStack::PushL(server);
+	// CServer base class call
+	server->StartL(KServerName);
+	CleanupStack::Pop(server);
+	return server;
+	}
+
+LOCAL_C void MainL()
+/**
+ * Much simpler, uses the new Rendezvous() call to sync with the client
+ */
+	{
+	CActiveScheduler* sched=NULL;
+	sched=new(ELeave) CActiveScheduler;
+	CActiveScheduler::Install(sched);
+	CC32TestServer* server = NULL;
+	// Create the CTestServer derived server
+	TRAPD(err,server = CC32TestServer::NewL());
+	if(!err)
+		{
+		// Sync with the client and enter the active scheduler
+		RProcess::Rendezvous(KErrNone);
+		sched->Start();
+		}
+	delete server;
+	delete sched;
+	}
+
+GLDEF_C TInt E32Main()
+/**
+ * @return - Standard Epoc error code on exit
+ */
+	{
+	CTrapCleanup* cleanup = CTrapCleanup::New();
+	if(cleanup == NULL)
+		{
+		return KErrNoMemory;
+		}
+	TRAPD(err,MainL());
+	delete cleanup;
+	return err;
+    }
+
+CTestStep* CC32TestServer::CreateTestStep(const TDesC& aStepName)
+/**
+ * @return - A CTestStep derived instance
+ * Implementation of CTestServer pure virtual
+ */
+	{
+	CTestStep*  testStep = NULL;
+
+	//
+	// Here the test step is created when it is needed. Note that this
+	// function is non-leaving so we cannot use new(ELeave). Therefore
+	// the new could return NULL, but that is not a problem as it implies
+	// the test step is missing and this will be marked in the log file.
+	//
+
+	// Loopback test
+	if(aStepName == _L("TestLoopback"))
+		{
+		testStep = new CTestLoopback;
+		}
+				
+	// Old TCOMM tests
+	
+	if(aStepName == _L("TestInit"))
+		{
+		testStep = new CTestInit;
+		}
+
+	if(aStepName == _L("TestDoubleStart"))
+		{
+		testStep = new CTestDoubleStart;
+		}
+
+	if(aStepName == _L("TestOpen"))
+		{
+		testStep = new CTestOpen;
+		}
+
+	if(aStepName == _L("TestInfo"))
+		{
+		testStep = new CTestInfo;
+		}
+
+	if(aStepName == _L("TestDoubleRead"))
+		{
+		testStep = new CTestDoubleRead;	
+		}
+			
+	if(aStepName == _L("TestConfigPanic"))
+		{
+		testStep = new CTestConfigPanic;			
+		}
+			
+	if(aStepName == _L("TestBadDescriptorPanic"))
+		{
+		testStep = new CTestBadDescriptorPanic;			
+		}
+
+	if(aStepName == _L("TestBusyReturn"))
+		{
+		testStep = new CTestBusyReturn;						
+		}
+
+	if(aStepName == _L("TestCancel"))
+		{
+		testStep = new CTestCancel;						
+		}
+
+	if(aStepName == _L("TestGetSetConfig"))
+		{
+		testStep = new CTestGetSetConfig;					
+		}
+
+	if(aStepName == _L("TestTimeOut"))
+		{
+		testStep = new CTestTimeOut;				
+		}
+
+	if(aStepName == _L("TestThreadPanic"))
+		{
+		testStep = new CTestThreadPanic;				
+		}
+
+	if(aStepName == _L("TestBufferOptions"))
+		{
+		testStep = new CTestBufferOptions;				
+		}
+
+	if(aStepName == _L("TestOOMConnection"))
+		{
+		testStep = new CTestOOMConnection;							
+		}
+			
+	if(aStepName == _L("TestOOMPortCreation"))
+		{
+		testStep = new CTestOOMPortCreation	;
+		}
+
+	if(aStepName == _L("TestSetSignalsPanicBug"))
+		{
+		testStep = new CTestSetSignalsPanicBug;			
+		}
+
+	if(aStepName == _L("TestStartServerThread"))
+		{
+		testStep = new CTestStartServerThread;						
+		}
+						
+	if(aStepName == _L("TestCapsV02"))
+		{
+		testStep = new CTestCapsV02;						
+		}
+
+	if(aStepName == _L("TestOpenPortsWithHighNumbers"))
+		{
+		testStep = new CTestOpenPortsWithHighNumbers;									
+		}
+
+	if(aStepName == _L("TestTimerAllocation"))
+		{
+		testStep = new CTestTimerAllocation;									
+		}
+
+	if(aStepName == _L("TestReadWrite"))
+		{
+		testStep = new CTestReadWrite;									
+		}
+
+	if(aStepName == _L("TestReadWrite2"))
+		{
+		testStep = new CTestReadWrite2;									
+		}
+
+	if(aStepName == _L("TestSignalLines"))
+		{
+		testStep = new CTestSignalLines	;
+		}
+
+	if(aStepName == _L("TestQueryreceiveBuffer"))
+		{
+		testStep = new CTestQueryreceiveBuffer;
+		}
+
+	if(aStepName == _L("TestWrite0"))
+		{
+		testStep = new CTestWrite0;			
+		}
+			
+	if(aStepName == _L("TestReadOneOrMore"))
+		{
+		testStep = new CTestReadOneOrMore;		
+		}
+
+	if(aStepName == _L("TestBufferReadWrite"))
+		{
+		testStep = new CTestBufferReadWrite;					
+		}
+
+	if(aStepName == _L("TestBufferreadOneOrMore"))
+		{
+		testStep = new CTestBufferreadOneOrMore;	
+		}
+
+	if(aStepName == _L("TestNotifySignals"))
+		{
+		testStep = new CTestNotifySignals;	
+		}
+
+	if(aStepName == _L("TestRxDataAvailable"))
+		{
+		testStep = new CTestRxDataAvailable;	
+		}
+
+	if(aStepName == _L("TestHelloEllo"))
+		{
+		testStep = new CTestHelloEllo;
+		}
+
+	// Old T_LSC32 tests
+
+	if(aStepName == _L("Lsc32ListAvailablePorts"))
+		{
+		testStep = new CLsc32ListAvailablePorts;
+		}
+
+	if(aStepName == _L("Lsc32ListNumberOfLoadedCSYs"))
+		{
+		testStep = new CLsc32ListNumberOfLoadedCSYs;			
+		}
+			
+	if(aStepName == _L("Lsc32LoadUnloadCsy"))
+		{
+		testStep = new CLsc32LoadUnloadCsy;			
+		}
+			
+	if(aStepName == _L("Lsc32GetPortInfo"))
+		{
+		testStep = new CLsc32GetPortInfo;			
+		}
+			
+	// Old TDUMMY tests
+	
+	if(aStepName == _L("DummyTest"))
+		{
+		testStep = new CDummyTest;	
+		}
+			
+	// Old TCOMMNEW tests
+	
+	if(aStepName == _L("TestDCEPort"))
+		{
+		testStep = new CTestDCEPort;						
+		}
+		
+	if(aStepName == _L("TestPlatSecOpenPortDummy"))
+		{
+		testStep = new CTestPlatSecOpenPortDummy;						
+		}
+
+	if(aStepName == _L("TestAllocMoreWriteMem"))
+		{
+		testStep = new CTestAllocMoreWriteMem;
+		}
+		
+	if(aStepName == _L("TestMemoryWriteFail"))
+		{
+		testStep = new CTestMemoryWriteFail;
+		}
+		
+	if(aStepName == _L("TestResetBuffers"))
+		{
+		testStep = new CTestResetBuffers;
+		}
+	
+	if(aStepName == _L("TestCorrectDataRead"))
+		{
+		testStep = new CTestCorrectDataRead;
+		}
+				
+	if(aStepName == _L("TestMaxBufferOverflow"))
+		{
+		testStep = new CTestMaxBufferOverflow;
+		}
+	if(aStepName == _L("TestOpenWhenAvailable"))
+		{
+		testStep = new CTestOpenWhenAvailable;			
+		}
+	
+//PREQ 890
+//Test Case No NET-C32-I-001-HP
+   if(aStepName == _L("TestLoadDealerCSY"))
+		{
+		testStep = new CTestLoadDealerCSY;						
+		}
+//Test Case No NET-C32-I-002-HP
+	if(aStepName == _L("TestLoadPlayerCSY"))
+		{
+		testStep = new CTestLoadPlayerCSY;						
+		}
+//Test Case No NET-C32-I-003-HP
+	if(aStepName == _L("TestLoadCSYthread"))
+		{
+		testStep = new CTestLoadCSYthread;						
+		}		
+  		
+ //Test Case No NET-C32-I-004-HP
+ if(aStepName == _L("TestLoadMoreCSY"))
+		{
+		testStep = new CTestLoadMoreCSY;						
+		}
+			
+//Test Case No NET-C32-I-005-HP
+ if(aStepName == _L("TestApiCallCSY"))
+		{
+		testStep = new CTestApiCallCSY;						
+		}
+		
+//Test Case No NET-C32-I-006-HP
+if(aStepName == _L("TestLoadUnknownCSY"))
+		{
+		testStep = new CTestLoadUnknownCSY;						
+		}
+
+//Test case No NET-C32-I-007-HP		
+ if(aStepName == _L("TestMissingRoleParmCMI"))
+		{
+		testStep = new CTestMissingRoleParmCMI;						
+		}	
+
+//Test case No NET-C32-I-008-HP
+	if(aStepName == _L("TestMissingWorkerIDParm"))
+		{
+		testStep = new CTestMissingWorkerIDParm;						
+		}	
+//Test case No NET-C32-I-009-HP		
+ if(aStepName == _L("TestLoadUnLoadCsySameOrder"))
+		{
+		testStep = new CTestLoadUnLoadCsySameOrder;						
+		}	
+		
+//Test case No NET-C32-I-0010-HP		
+ if(aStepName == _L("TestLoadUnLoadCsyDiffOrder"))
+		{
+		testStep = new CTestLoadUnLoadCsyDiffOrder;						
+		}
+			
+//Test case No NET-C32-I-0011-HP		
+ if(aStepName == _L("SendDatainDealerThr"))
+		{
+		testStep = new CSendDatainDealerThr;						
+		}
+					
+//Test case No NET-C32-I-0012-HP		
+ if(aStepName == _L("SendDatainPlayerThr"))
+		{
+		testStep = new CSendDatainPlayerThr;						
+		}
+			
+ //Test case No NET-C32-I-0013-HP		
+ if(aStepName == _L("TestGetPortInfo"))
+		{
+		testStep = new CTestGetPortInfo;						
+		}
+			
+ //Test case No NET-C32-I-0014-HP							
+if(aStepName == _L("LoadingCsydiffSession"))
+		{
+		testStep = new CLoadingCsydiffSession;						
+		}
+								
+//Test case No NET-C32-I-0015-HP	
+if(aStepName == _L("LoadingSameCsydiffSession"))
+		{
+		testStep = new CLoadingSameCsydiffSession;						
+		}
+		
+//Test case No NET-C32-I-0016-HP		
+if(aStepName == _L("NumPortsdiffSession"))
+		{
+		testStep = new CNumPortsdiffSession;						
+		}
+		
+//Test case No NET-C32-I-0017-HP		
+if(aStepName == _L("DataReadDealerPlayer"))
+		{
+		testStep = new CDataReadDealerPlayer;						
+		}
+		
+//Test case No NET-C32-I-0019-HP
+if(aStepName == _L("TestStackableCSY"))
+		{
+		testStep = new CTestStackableCSY;						
+		}
+
+//Test case No NET-C32-I-0020-HP
+if(aStepName == _L("LoadCsywithOldCMI"))
+		{
+		testStep = new CLoadCsywithOldCMI;						
+		}
+//Test case No NET-C32-I-0021-HP		
+if(aStepName == _L("OldandNewCMIfiles"))
+		{
+		testStep = new COldandNewCMIfiles;						
+		}	
+//Test case No NET-C32-I-0022-HP				
+if(aStepName == _L("LoadCsyPlayerThread"))
+		{
+		testStep = new CLoadCsyPlayerThread;						
+		}	
+//Test case No NET-C32-I-0023-HP
+if(aStepName == _L("LoadCsyDealerPlayerThreads"))
+		{
+		testStep = new CLoadCsyDealerPlayerThreads;						
+		}
+//Test case No NET-C32-I-0024-HP			
+if(aStepName == _L("LoadandUnloadDiffSession"))
+		{
+		testStep = new CLoadandUnloadDiffSession;						
+		}
+//Test case No NET-C32-I-0025-HP		
+if(aStepName == _L("MissingCsyListinCMI"))
+		{
+		testStep = new CMissingCsyListinCMI;						
+		}
+				
+//Test case No NET-C32-I-0026-HP
+if(aStepName == _L("AllCMIFileRolePlayer"))
+		{
+		testStep = new CAllCMIFileRolePlayer;						
+		}
+		
+//Test case No NET-C32-I-0027-HP
+if(aStepName == _L("TwoCMIfileSetWildcard"))
+		{
+		testStep = new CTwoCMIfileSetWildcard;						
+		}
+//Test case No NET-C32-I-0028-HP		
+if(aStepName == _L("NoCMIfileSetWildcard"))
+		{
+		testStep = new CNoCMIfileSetWildcard;						
+		}
+//Test case No NET-C32-I-0029-HP			
+if(aStepName == _L("TwoCMIsameWorkerID"))
+		{
+		testStep = new CTwoCMIsameWorkerID;						
+		}
+//Test case No NET-C32-I-0030-HP			
+if(aStepName == _L("TwoNewCMIfileRoleDealer"))
+		{
+		testStep = new CTwoNewCMIfileRoleDealer;						
+		}
+//Test case No NET-C32-I-0031-HP			
+if(aStepName == _L("OldNewCMIfileRoleDealer"))
+		{
+		testStep = new COldNewCMIfileRoleDealer;						
+		}		
+							
+ //Test case No NET-C32-I-0034-HP			
+if(aStepName == _L("LoadCsyAllPlayerThread"))
+		{
+		testStep = new CLoadCsyAllPlayerThread;						
+		}	
+		
+ //Test case No NET-C32-I-0035-HP			
+if(aStepName == _L("GetPortInfo"))
+		{
+		testStep = new CGetPortInfo;						
+		}			
+//Test case No NET-C32-I-0032-HP		
+if(aStepName == _L("TestBlockCSY"))
+		{
+		testStep = new CTestBlockCSY;						
+		}			
+//Test case No NET-C32-I-0033-HP	
+if(aStepName == _L("TestCorruptCsy"))
+		{
+		testStep = new CTestCorruptCsy;						
+		}	
+	
+if(aStepName == _L("GetPortInfoByName"))
+		{
+		testStep = new CGetPortInfoByName;						
+		}
+//Test case No NET-C32-I-0036-HP					
+if(aStepName == _L("UnSequentialWorkerID"))
+		{
+		testStep = new CUnSequentialWorkerID;						
+		}
+ //Test case No NET-C32-I-0037-HP					
+if(aStepName == _L("TestLoadUnknownCPM"))
+		{
+		testStep = new CTestLoadUnknownCPM;						
+		}
+
+ //Test case No NET-C32-I-0038-HP					
+if(aStepName == _L("TestLongPortName"))
+		{
+		testStep = new CTestLongPortName;						
+		}
+			
+//Test case No NET-C32-I-0039-HP					
+if(aStepName == _L("TestStackableCSYNoClose"))
+		{
+		testStep = new CTestStackableCSYNoClose;						
+		}		
+
+																											
+   	//
+	// Set the test step name here to save code!!!
+	//
+	if (testStep != NULL)
+		{
+		testStep->SetTestStepName(aStepName);
+		}
+
+	return testStep;
+	}
+	
+	
+