usbmgmt/usbmgrtest/T_usb/src/UsbSuite.cpp
changeset 0 c9bc50fca66e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/usbmgmt/usbmgrtest/T_usb/src/UsbSuite.cpp	Tue Feb 02 02:02:59 2010 +0200
@@ -0,0 +1,155 @@
+/*
+* Copyright (c) 2007-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:
+* This main DLL entry point for the T_Usb.dll
+*
+*/
+
+
+
+// EPOC includes
+#include <e32base.h>
+#include <c32comm.h>
+
+// Usb Test system includes
+#include <networking/log.h>
+#include "UsbStep.h"
+#include "UsbSuite.h"
+
+// Test case includes
+#include "UsbTest1.h"
+#include "UsbTest2.h"
+#include "UsbManTest1.h"
+
+
+
+EXPORT_C CTestSuiteUsb* NewTestSuiteUsb( void ) 
+    {
+	CTestSuiteUsb* ts = 0;
+	TRAPD(err,ts = new (ELeave) CTestSuiteUsb);
+	if (err == KErrNone)
+		return ts;
+	return 0;
+    }
+
+// destructor
+CTestSuiteUsb::~CTestSuiteUsb()
+	{
+	}
+
+// Add a test step into the suite
+void CTestSuiteUsb::AddTestStepL(CTestStepUsb* aTestStep)
+{
+	// test steps contain a pointer back to the suite which owns them
+	aTestStep->iUsbSuite = this; 
+
+	// add the step using the base class method
+	CTestSuite::AddTestStepL(aTestStep);
+}
+
+
+// second phase constructor for Usb test suite
+// this creates all the Usb test steps and
+// stores them inside CTestSuiteUsb
+void CTestSuiteUsb::InitialiseL( void )
+{
+	iPortOpen		= EFalse;
+	iCommServerOpen = EFalse;
+	iUsbOpen		= EFalse;
+
+	TInt ret = StartC32();
+	if ( KErrNone != ret && KErrAlreadyExists != ret )
+		{
+		User::Leave( ret );
+		}
+	
+	// store the name of this test suite
+	OverrideSuiteName(_L("Usb"));
+
+	// Add Test steps
+	AddTestStepL(new (ELeave) CTestStartUsb);
+	AddTestStepL(new (ELeave) CTestWaitForUsb);
+	AddTestStepL(new (ELeave) CTestStartCsy);
+	AddTestStepL(new (ELeave) CTestOpenDTEPort);
+	AddTestStepL(new (ELeave) CTestOpenDCEPort);
+	AddTestStepL(new (ELeave) CTestPostRead);
+	AddTestStepL(new (ELeave) CTestPostWrite);
+	AddTestStepL(new (ELeave) CTestCancelRead);
+	AddTestStepL(new (ELeave) CTestCancelWrite);
+	AddTestStepL(new (ELeave) CTestWaitForRead);
+	AddTestStepL(new (ELeave) CTestWaitForWrite);
+	AddTestStepL(new (ELeave) CTestPostReadOneOrMore);
+	AddTestStepL(new (ELeave) CTestClosePort);
+	AddTestStepL(new (ELeave) CTestCloseCommServer);
+	AddTestStepL(new (ELeave) CTestCloseUsbServer);
+	AddTestStepL(new (ELeave) CTestStopUsb);
+	AddTestStepL(new (ELeave) CTestNotifySignalChange);
+	AddTestStepL(new (ELeave) CTestWaitForSignalChange);
+	AddTestStepL(new (ELeave) CTestWaitForReadCancel);
+	AddTestStepL(new (ELeave) CTestPostReadThenCancel);
+	AddTestStepL(new (ELeave) CTestNotifyConfigChange);
+	AddTestStepL(new (ELeave) CTestNotifyBreak);
+	AddTestStepL(new (ELeave) CTestWaitForBreak);
+	AddTestStepL(new (ELeave) CTestCloseAll);
+
+	// Test steps that require a configuration file
+	AddTestStepL(new (ELeave) CTestSetSignalsToMark);
+	AddTestStepL(new (ELeave) CTestSetSignalsToSpace);
+	AddTestStepL(new (ELeave) CTestCheckSignals);
+	AddTestStepL(new (ELeave) CTestWaitForReadFailure);
+	AddTestStepL(new (ELeave) CTestWaitForWriteFailure);
+	AddTestStepL(new (ELeave) CTestOpenPort);
+	AddTestStepL(new (ELeave) CTestWaitForConfigChange);
+	AddTestStepL(new (ELeave) CTestNotifyStateChange);
+	AddTestStepL(new (ELeave) CTestWaitForStateChange);
+
+	// UsbMan tests
+	AddTestStepL(new (ELeave) CTestUsbManWaitForStateChange);
+	AddTestStepL(new (ELeave) CTestUsbManNotifyStateChange);
+}
+
+
+// make a version string available for test system 
+_LIT(KTxtVersion,"1.001");
+TPtrC CTestSuiteUsb::GetVersion( void )
+	{
+	return KTxtVersion();
+	}
+
+void CTestSuiteUsb::CloseAll()
+	{
+	if (iPortOpen)
+		{
+		iCommPort.Close();
+		iPortOpen = EFalse;
+		}
+
+	if (iCommServerOpen)
+		{
+		iCommServer.Close();
+		iCommServerOpen = EFalse;
+		}
+
+	if (iUsbOpen)
+		{
+		iUsb.Close();
+		iUsbOpen = EFalse;
+		}
+
+	if (iLddOpen)
+		{
+		iLdd.Close();
+		iLddOpen = EFalse;
+		}
+	}