diff -r 000000000000 -r c9bc50fca66e usbmgmt/usbmgrtest/T_usb/src/UsbSuite.cpp --- /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 +#include + +// Usb Test system includes +#include +#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; + } + }