diff -r 000000000000 -r 1e05558e2206 usbengines/usblocodplugin/tsrc/USBLocodPluginTest/src/USBLocodPluginTestBlocks.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usbengines/usblocodplugin/tsrc/USBLocodPluginTest/src/USBLocodPluginTestBlocks.cpp Thu Dec 17 09:14:30 2009 +0200 @@ -0,0 +1,509 @@ +/* +* Copyright (c) 2002 - 2007 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: ?Description +* +*/ + + + + +// [INCLUDE FILES] - do not remove +#include +#include +#include +#include "USBLocodPluginTest.h" + +// EXTERNAL DATA STRUCTURES +//extern ?external_data; + +// EXTERNAL FUNCTION PROTOTYPES +//extern ?external_function( ?arg_type,?arg_type ); + +// CONSTANTS +//const ?type ?constant_var = ?constant; + +// MACROS +//#define ?macro ?macro_def + +// LOCAL CONSTANTS AND MACROS +//const ?type ?constant_var = ?constant; +//#define ?macro_name ?macro_def + +// MODULE DATA STRUCTURES +//enum ?declaration +//typedef ?declaration + +// LOCAL FUNCTION PROTOTYPES +//?type ?function_name( ?arg_type, ?arg_type ); + +// FORWARD DECLARATIONS +//class ?FORWARD_CLASSNAME; + +// ============================= LOCAL FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// ?function_name ?description. +// ?description +// Returns: ?value_1: ?description +// ?value_n: ?description_line1 +// ?description_line2 +// ----------------------------------------------------------------------------- +// +/* +?type ?function_name( + ?arg_type arg, // ?description + ?arg_type arg) // ?description + { + + ?code // ?comment + + // ?comment + ?code + } +*/ + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CUSBLocodPluginTest::Delete +// Delete here all resources allocated and opened from test methods. +// Called from destructor. +// ----------------------------------------------------------------------------- +// +void CUSBLocodPluginTest::Delete() + { + delete iLocodBearerPluginObs; + iLocodBearerPluginObs = NULL; + + delete iLocodBearerPlugin; + iLocodBearerPlugin = NULL; + if ( iDeleteProperty ) + RProperty::Delete( KPSUidUsbWatcher, KUsbWatcherSelectedPersonality ); + + iSelectedPersProperty -> Close(); + delete iSelectedPersProperty; + iSelectedPersProperty = NULL; + REComSession::FinalClose(); + } + +// ----------------------------------------------------------------------------- +// CUSBLocodPluginTest::RunMethodL +// Run specified method. Contains also table of test mothods and their names. +// ----------------------------------------------------------------------------- +// +TInt CUSBLocodPluginTest::RunMethodL( + CStifItemParser& aItem ) + { + + static TStifFunctionInfo const KFunctions[] = + { + //ADD NEW ENTRY HERE + // [test cases entries] - Do not remove + ENTRY( "ExecuteApiTest", CUSBLocodPluginTest::ExecuteApiTest ), + ENTRY( "ExecuteModuleTest", CUSBLocodPluginTest::ExecuteModuleTest ), + ENTRY( "ExecuteBranchTest", CUSBLocodPluginTest::ExecuteBranchTest ), + }; + + const TInt count = sizeof( KFunctions ) / + sizeof( TStifFunctionInfo ); + + return RunInternalL( KFunctions, count, aItem ); + + } + +// ----------------------------------------------------------------------------- +// CUSBLocodPluginTest::ExecuteApiTest +// ----------------------------------------------------------------------------- + +TInt CUSBLocodPluginTest::ExecuteApiTest( CStifItemParser& aItem ) + { + STIF_LOG( "[STIF_LOG] >>>ExecuteApiTest" ); + + TInt res; + TUSBLocodPluginTestResult testResult; + TPtrC apiTestName( KNullDesC ); + + res = aItem.GetString( _L( "ExecuteApiTest" ), apiTestName ); + if ( res != KErrNone ) + { + iLog -> Log( _L( "GetString failed with value: %d" ), res ); + return res; + } + + TRAP( res, DoExecuteApiTestL( apiTestName, testResult ) ); + if ( res != KErrNone ) + { + iLog -> Log( _L( "DoExecuteApiTestL error: %d"), res ); + return res; + } + + STIF_ASSERT_EQUALS( ETestCasePassed, testResult ); + STIF_LOG( "[STIF_LOG] Test case passed" ); + STIF_LOG( "[STIF_LOG] <<>>DoExecuteApiTestL" ); + if ( !aApiTestName.Compare( _L( "InitializationTestL" ) ) ) + { + STIF_LOG( "[STIF_LOG] Api test type: InitializationTestL" ); + InitializationTestL( aTestResult ); + } + else if ( !aApiTestName.Compare( _L( "ImplementatiationIdTestL" ) ) ) + { + STIF_LOG( "[STIF_LOG] Api test type: ImplementatiationIdTestL" ); + ImplementatiationIdTestL( aTestResult ); + } + else if ( !aApiTestName.Compare( _L( "USBPCSuitePersonalityTestL" ) ) ) + { + STIF_LOG( "[STIF_LOG] Api test type: USBPCSuitePersonalityTestL" ); + USBPCSuitePersonalityTestL( aTestResult ); + } + else if ( !aApiTestName.Compare( _L( "USBDefaultPersonalityTestL" ) ) ) + { + STIF_LOG( "[STIF_LOG] Api test type: USBDefaultPersonalityTestL" ); + USBDefaultPersonalityTestL( aTestResult ); + } + else + { + STIF_LOG( "[STIF_LOG] Api test type: not found" ); + User::Leave( KErrNotFound ); + } + STIF_LOG( "[STIF_LOG] <<>>InitializationTestL" ); + + if( !iLocodBearerPlugin ) + { + aTestResult = ETestCaseFailed; + return; + } + + aTestResult = ETestCasePassed; + STIF_LOG( "[STIF_LOG] <<>>ImplementatiationIdTestL" ); + + User::LeaveIfNull( iLocodBearerPlugin ); + + TUid implementationUid = TUid::Uid( KFeatureIdUsb ); + iLog -> Log( _L( "[STIF_LOG] Implementation Uid: %d, expected Uid: %d" ), implementationUid.iUid, iLocodBearerPlugin -> ImplementationUid().iUid ); + if ( iLocodBearerPlugin -> ImplementationUid() != implementationUid ) + { + aTestResult = ETestCaseFailed; + return; + } + + aTestResult = ETestCasePassed; + STIF_LOG( "[STIF_LOG] <<>>USBPCSuitePersonalityTestL" ); + + User::LeaveIfNull( iLocodBearerPlugin ); + TBool expectedLocodBearerStatus = ETrue; + TBool returnedLocodBearerStatus; + TInt res = iSelectedPersProperty -> Set( KUsbPersonalityIdPCSuite ); + iLog -> Log( _L( "[STIF_LOG] Set selected personality property result: %d" ), res ); + if ( res != KErrNone ) + { + aTestResult = ETestCaseFailed; + return; + } + iLocodBearerPluginObs -> ActivateObserver( returnedLocodBearerStatus ); + + iLog -> Log( _L( "[STIF_LOG] Expected locod bearer status: %d, returned status: %d" ), + expectedLocodBearerStatus, returnedLocodBearerStatus ); + if ( returnedLocodBearerStatus != expectedLocodBearerStatus ) + { + aTestResult = ETestCaseFailed; + return; + } + + aTestResult = ETestCasePassed; + STIF_LOG( "[STIF_LOG] <<>>USBDefaultPersonalityTestL" ); + + User::LeaveIfNull( iLocodBearerPlugin ); + TBool expectedLocodBearerStatus = EFalse; + TBool returnedLocodBearerStatus; + TInt res = iSelectedPersProperty -> Set( KUsbDefaultPersonality ); + iLog -> Log( _L( "[STIF_LOG] Set selected personality property result: %d" ), res ); + if ( res != KErrNone ) + { + aTestResult = ETestCaseFailed; + return; + } + iLocodBearerPluginObs -> ActivateObserver( returnedLocodBearerStatus ); + + iLog -> Log( _L( "[STIF_LOG] Expected locod bearer status: %d, returned status: %d" ), + expectedLocodBearerStatus, returnedLocodBearerStatus ); + if ( returnedLocodBearerStatus != expectedLocodBearerStatus ) + { + aTestResult = ETestCaseFailed; + return; + } + + aTestResult = ETestCasePassed; + STIF_LOG( "[STIF_LOG] <<>>ExecuteModuleTest" ); + + TInt res; + TUSBLocodPluginTestResult testResult; + TPtrC moduleTestName( KNullDesC ); + + res = aItem.GetString( _L( "ExecuteModuleTest" ), moduleTestName ); + if ( res != KErrNone ) + { + iLog -> Log( _L( "GetString failed with value: %d" ), res ); + return res; + } + + TRAP( res, DoExecuteModuleTestL( moduleTestName, testResult ) ); + if ( res != KErrNone ) + { + iLog -> Log( _L( "DoExecuteModuleTestL error: %d"), res ); + return res; + } + + STIF_ASSERT_EQUALS( ETestCasePassed, testResult ); + STIF_LOG( "[STIF_LOG] Test case passed" ); + STIF_LOG( "[STIF_LOG] <<>>DoExecuteModuleTestL" ); + if ( !aModuleTestName.Compare( _L( "USBMSPersonalityTestL" ) ) ) + { + STIF_LOG( "[STIF_LOG] Module test type: USBMSPersonalityTestL" ); + USBMSPersonalityTestL( aTestResult ); + } + else if ( !aModuleTestName.Compare( _L( "USBPTPPersonalityTestL" ) ) ) + { + STIF_LOG( "[STIF_LOG] Module test type: USBPTPPersonalityTestL" ); + USBPTPPersonalityTestL( aTestResult ); + } + else if ( !aModuleTestName.Compare( _L( "USBMTPPersonalityTestL" ) ) ) + { + STIF_LOG( "[STIF_LOG] Module test type: USBMTPPersonalityTestL" ); + USBMTPPersonalityTestL( aTestResult ); + } + else + { + STIF_LOG( "[STIF_LOG] Module test type: not found" ); + User::Leave( KErrNotFound ); + } + STIF_LOG( "[STIF_LOG] <<>>USBMSPersonalityTestL" ); + + User::LeaveIfNull( iLocodBearerPlugin ); + TBool expectedLocodBearerStatus = EFalse; + TBool returnedLocodBearerStatus; + TInt res = iSelectedPersProperty -> Set( KUsbPersonalityIdMS ); + iLog -> Log( _L( "[STIF_LOG] Set selected personality property result: %d" ), res ); + if ( res != KErrNone ) + { + aTestResult = ETestCaseFailed; + return; + } + iLocodBearerPluginObs -> ActivateObserver( returnedLocodBearerStatus ); + + iLog -> Log( _L( "[STIF_LOG] Expected locod bearer status: %d, returned status: %d" ), + expectedLocodBearerStatus, returnedLocodBearerStatus ); + if ( returnedLocodBearerStatus != expectedLocodBearerStatus ) + { + aTestResult = ETestCaseFailed; + return; + } + + aTestResult = ETestCasePassed; + STIF_LOG( "[STIF_LOG] <<>>USBPTPPersonalityTestL" ); + + User::LeaveIfNull( iLocodBearerPlugin ); + TBool expectedLocodBearerStatus = EFalse; + TBool returnedLocodBearerStatus; + TInt res = iSelectedPersProperty -> Set( KUsbPersonalityIdPTP ); + iLog -> Log( _L( "[STIF_LOG] Set selected personality property result: %d" ), res ); + if ( res != KErrNone ) + { + aTestResult = ETestCaseFailed; + return; + } + iLocodBearerPluginObs -> ActivateObserver( returnedLocodBearerStatus ); + + iLog -> Log( _L( "[STIF_LOG] Expected locod bearer status: %d, returned status: %d" ), + expectedLocodBearerStatus, returnedLocodBearerStatus ); + if ( returnedLocodBearerStatus != expectedLocodBearerStatus ) + { + aTestResult = ETestCaseFailed; + return; + } + + aTestResult = ETestCasePassed; + STIF_LOG( "[STIF_LOG] <<>>USBMTPPersonalityTestL" ); + + User::LeaveIfNull( iLocodBearerPlugin ); + TBool expectedLocodBearerStatus = EFalse; + TBool returnedLocodBearerStatus; + TInt res = iSelectedPersProperty -> Set( KUsbPersonalityIdMTP ); + iLog -> Log( _L( "[STIF_LOG] Set selected personality property result: %d" ), res ); + if ( res != KErrNone ) + { + aTestResult = ETestCaseFailed; + return; + } + iLocodBearerPluginObs -> ActivateObserver( returnedLocodBearerStatus ); + + iLog -> Log( _L( "[STIF_LOG] Expected locod bearer status: %d, returned status: %d" ), + expectedLocodBearerStatus, returnedLocodBearerStatus ); + if ( returnedLocodBearerStatus != expectedLocodBearerStatus ) + { + aTestResult = ETestCaseFailed; + return; + } + + aTestResult = ETestCasePassed; + STIF_LOG( "[STIF_LOG] <<>>ExecuteBranchTest" ); + + TInt res; + TUSBLocodPluginTestResult testResult; + TPtrC branchTestName( KNullDesC ); + + res = aItem.GetString( _L( "ExecuteBranchTest" ), branchTestName ); + if ( res != KErrNone ) + { + iLog -> Log( _L( "GetString failed with value: %d" ), res ); + return res; + } + + TRAP( res, DoExecuteBranchTestL( branchTestName, testResult ) ); + if ( res != KErrNone ) + { + iLog -> Log( _L( "DoExecuteBranchTestL error: %d"), res ); + return res; + } + + STIF_ASSERT_EQUALS( ETestCasePassed, testResult ); + STIF_LOG( "[STIF_LOG] Test case passed" ); + STIF_LOG( "[STIF_LOG] <<>>DoExecuteBranchTestL" ); + if ( !aBranchTestName.Compare( _L( "USBPCSuiteMTPPersonalityTestL" ) ) ) + { + STIF_LOG( "[STIF_LOG] Branch test type: USBPCSuiteMTPPersonalityTestL" ); + USBPCSuiteMTPPersonalityTestL( aTestResult ); + } + else + { + STIF_LOG( "[STIF_LOG] Branch test type: not found" ); + User::Leave( KErrNotFound ); + } + STIF_LOG( "[STIF_LOG] <<>>USBPCSuiteMTPPersonalityTestL" ); + + User::LeaveIfNull( iLocodBearerPlugin ); + TBool expectedLocodBearerStatus = ETrue; + TBool returnedLocodBearerStatus; + TInt res = iSelectedPersProperty -> Set( KUsbPersonalityIdPCSuiteMTP ); + iLog -> Log( _L( "[STIF_LOG] Set selected personality property result: %d" ), res ); + if ( res != KErrNone ) + { + aTestResult = ETestCaseFailed; + return; + } + iLocodBearerPluginObs -> ActivateObserver( returnedLocodBearerStatus ); + + iLog -> Log( _L( "[STIF_LOG] Expected locod bearer status: %d, returned status: %d" ), + expectedLocodBearerStatus, returnedLocodBearerStatus ); + if ( returnedLocodBearerStatus != expectedLocodBearerStatus ) + { + aTestResult = ETestCaseFailed; + return; + } + + aTestResult = ETestCasePassed; + STIF_LOG( "[STIF_LOG] <<