diff -r 481b3bce574a -r b6488ac24ddc omxil/mmilapi/unittest/src/tsu_milif_omxiliftests.cpp --- a/omxil/mmilapi/unittest/src/tsu_milif_omxiliftests.cpp Mon Aug 23 21:48:44 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1093 +0,0 @@ -// Copyright (c) 2008-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: -// Implementation of Unit test step classes for MILIF testing. -// -// - -#include "tsu_milif_omxiliftests.h" -#include "iltestuids.hrh" -#include "ilcomponentif.h" -#include "tilstructtypes.h" -#include "tomxilstruct.h" -#include - -_LIT8(KDummyDecoderILComponentName,"OMX.SYMBIAN.AUDIO.DECODER.DUMMY"); -_LIT8(KExtensionPortDefinitionName,"OMX.CompanyXYZ.index.param.PortDefinition"); -_LIT8(KFakeRole,"audio_decoder.vrb"); - -const TUid KUidFormatAAC = {0x1028347C}; - -const TInt KMaxComponentRoleLength = 128; - -const TInt KZerothPort = 0; - - -// -// RTestStepMILIFBase: Base class for all RTestStepMILIF* tests -// - -/* - * - * RTestStepMILIFBase - Test step constructor - * - */ -RTestStepMILIFBase::RTestStepMILIFBase(const TDesC& aTestName) -:RAsyncTestStep() - { - iTestStepName = aTestName; - } - -/* - * - * KickoffTestL - Starts the test - * - */ -void RTestStepMILIFBase::KickoffTestL() - { - __MM_HEAP_MARK; - - DoKickoffTestL(); - DoTestBody(); - } - -/* - * - * DoKickoffTestL - * - */ -void RTestStepMILIFBase::DoKickoffTestL() - { - OMX_Init(); - - if ((iTestStepName == _L("MM-MILIF-DUMMYOMXILIF-U-0001"))|| - (iTestStepName == _L("MM-MILIF-DUMMYOMXILIF-U-0002"))|| - (iTestStepName == _L("MM-MILIF-DUMMYOMXILIF-U-0003"))|| - (iTestStepName == _L("MM-MILIF-DUMMYOMXILIF-U-0004"))|| - (iTestStepName == _L("MM-MILIF-DUMMYOMXILIF-U-0005"))|| - (iTestStepName == _L("MM-MILIF-DUMMYOMXILIF-U-0006"))) - { - INFO_PRINTF1(_L("1. Create an instance of the KUidOmxILAudioDecGenericIf test ECOM plugin interface.")); - TRAPD(error, iDummyComponent = CILComponentIf::CreateImplementationL(TUid::Uid(KUidOmxILDummyAudioDecMILIFPlugin))); - if(error != KErrNone) - { - ERR_PRINTF2(_L(" ERROR! - Could not instantiate the generic audio decoder OMX IL test ECOM plugin interface: error = %d"), error); - StopTest(error, EFail); - return; - } - - INFO_PRINTF1(_L("2. Use the interface to instanciate a dummy omx component.")); - TRAP(error, iDummyComponent->CreateComponentL(KDummyDecoderILComponentName, *this)); - if(error != KErrNone) - { - ERR_PRINTF2(_L(" ERROR! - Could not create omx component: error = %d"), error); - StopTest(error, EFail); - return; - } - - INFO_PRINTF1(_L("3. Set the role of the interface.")); - error = iDummyComponent->SetComponentIfRole(KUidFormatAAC); - if(error != KErrNone) - { - ERR_PRINTF2(_L(" ERROR! - Could not set the role of the interface: error = %d"), error); - StopTest(error, EFail); - } - } - else - { - StopTest(KErrGeneral, EFail); - } - } - -/* - * - * DoTestBodyL - * - */ -void RTestStepMILIFBase::DoTestBody() - { - // Nothing to do in the base class - } - -/* - * - * CloseTest - * - */ -void RTestStepMILIFBase::CloseTest() - { - if (iDummyComponent) - { - iDummyComponent->ReleaseComponent(); - iDummyComponent = NULL; - } - - iComponentInPortIf = NULL; - iComponentOutPortIf = NULL; - - OMX_Deinit(); - - __MM_HEAP_MARKEND; - } - -/* - * - * MsgFromILComponent - Callback from component for component events - * - */ -TInt RTestStepMILIFBase::MsgFromILComponent(const MILComponentIf* /*aComponent*/, const TILEvent& /*aEvent*/) - { - // Nothing to do in the base class - return KErrNotSupported; - } - -/* - * - * BufferDelivered - Callback from component for buffer delivered events - * - */ -TInt RTestStepMILIFBase::BufferDelivered(const MILComponentPortIf* /*aPort*/, const CMMFBuffer* /*aBuffer*/) - { - // Nothing to do in the base class - return KErrNotSupported; - } - - -// -// RTestStepMILIFPorts: To test access to IL component ports through MILIF. -// - -/* - * - * RTestStepMILIFPorts - Test step constructor - * - */ -RTestStepMILIFPorts::RTestStepMILIFPorts(const TDesC& aTestName) - :RTestStepMILIFBase(aTestName) - { - } - -/* - * - * NewL - * - */ -RTestStepMILIFPorts* RTestStepMILIFPorts::NewL(const TDesC& aTestName) - { - return (new (ELeave) RTestStepMILIFPorts(aTestName)); - } - -/* - * - * DoKickoffTestL - * - */ -void RTestStepMILIFPorts::DoKickoffTestL() - { - INFO_PRINTF1(_L("RTestStepMILIFPorts: To test access to IL component ports through MILIF interface.")); - - RTestStepMILIFBase::DoKickoffTestL(); - } - -/* - * - * DoTestBodyL - * - */ -void RTestStepMILIFPorts::DoTestBody() - { - RPointerArray ifPorts; - - INFO_PRINTF1(_L("4. Get Component Input ports through MILIF interface.")); - TInt error = iDummyComponent->GetComponentInputPorts(ifPorts); - if (error == KErrNone && ifPorts.Count() == 1) - { - iComponentInPortIf = ifPorts[KZerothPort]; - ifPorts.Close(); - } - else - { - if (ifPorts.Count() != 1) - { - error = KErrNotFound; - } - ifPorts.Close(); - ERR_PRINTF2(_L(" ERROR! - Fail to grab input ports: error = %d"), error); - StopTest(error, EFail); - return; - } - - - INFO_PRINTF1(_L("5. Get Component Output ports through MILIF interface.")); - error = iDummyComponent->GetComponentOutputPorts(ifPorts); - if (error == KErrNone && ifPorts.Count() > 0) - { - iComponentOutPortIf = ifPorts[KZerothPort]; - ifPorts.Close(); - } - else - { - if (ifPorts.Count() != 1) - { - error = KErrNotFound; - } - ifPorts.Close(); - ERR_PRINTF2(_L(" ERROR! - Fail to grab output ports: error = %d"), error); - StopTest(error, EFail); - return; - } - StopTest(KErrNone); - } - - -// -// RTestStepMILIFConfig: To test configuration of IL component through MILIF. -// - -/* - * - * RTestStepMILIFConfig - Test step constructor - * - */ -RTestStepMILIFConfig::RTestStepMILIFConfig(const TDesC& aTestName) -:RTestStepMILIFBase(aTestName) - { - } - -/* - * - * NewL - * - */ -RTestStepMILIFConfig* RTestStepMILIFConfig::NewL(const TDesC& aTestName) - { - RTestStepMILIFConfig* self = new (ELeave) RTestStepMILIFConfig(aTestName); - return self; - } - -/* - * - * DoKickoffTestL - * - */ -void RTestStepMILIFConfig::DoKickoffTestL() - { - INFO_PRINTF1(_L("RTestStepMILIFConfig: To test configuration of the IL component through MILIF interface.")); - - RTestStepMILIFBase::DoKickoffTestL(); - } - -/* - * - * DoTestBodyL - - * - */ -void RTestStepMILIFConfig::DoTestBody() - { - TInt error = KErrNone; - - INFO_PRINTF1(_L("4. Get Component Input ports through MILIF interface.")); - RPointerArray ifPorts; - error = iDummyComponent->GetComponentInputPorts(ifPorts); - if (error == KErrNone && ifPorts.Count() == 1) - { - iComponentInPortIf = ifPorts[KZerothPort]; - ifPorts.Close(); - } - else - { - if (ifPorts.Count() != 1) - { - error = KErrNotFound; - } - ifPorts.Close(); - ERR_PRINTF2(_L(" ERROR! - Fail to grab input ports: error = %d"), error); - StopTest(error, EFail); - return; - } - - INFO_PRINTF1(_L("5a. Set a (partial) config port parameter through the interface.")); - INFO_PRINTF1(_L(" Using TPortDefinitionType and TILPortDefinition.")); - TPortDefinitionType partialConfig_s; - partialConfig_s.nBufferCountActual = 1; - TILPortDefinition paramStruct_s(partialConfig_s); - error = iDummyComponent->SetConfig(paramStruct_s, iComponentInPortIf); - if (error != KErrNone) - { - ERR_PRINTF2(_L(" ERROR! - Fail to set TILPortDefinition: error = %d"), error); - StopTest(error, EFail); - return; - } - - INFO_PRINTF1(_L("5b. Now Get the TPortDefinitionType config parameter through the interface.")); - TILPortDefinition paramStruct_g; - TPortDefinitionType* partialConfig_g = NULL; - error = iDummyComponent->GetConfig(paramStruct_g, iComponentInPortIf); - if (error != KErrNone) - { - ERR_PRINTF2(_L(" ERROR! - Fail to get TILPortDefinition: error = %d"), error); - StopTest(error, EFail); - return; - } - partialConfig_g = TILPortDefinition::GetStructure(paramStruct_g); - if(partialConfig_g->nBufferCountActual != 1) - { - ERR_PRINTF1(_L(" ERROR! - Unexpected value. The get value does not match the value set.")); - StopTest(KErrCorrupt, EFail); - return; - } - - if ((iTestStepName == _L("MM-MILIF-DUMMYOMXILIF-U-0002"))) - { - INFO_PRINTF1(_L("6a. Configure component through the interface.")); - INFO_PRINTF1(_L(" Using TOMXILStructParam and TILPortDefinition.")); - OMX_PARAM_PORTDEFINITIONTYPE omxconfig_s; - omxconfig_s.nBufferCountActual = 3; - TOMXILStructParam omxParamStruct_s(&omxconfig_s, OMX_IndexParamPortDefinition); - error = iDummyComponent->SetConfig(omxParamStruct_s, iComponentInPortIf); - if (error != KErrNone) - { - ERR_PRINTF2(_L(" ERROR! - Fail to set TOMXILStructParam: error = %d"), error); - StopTest(error, EFail); - return; - } - - INFO_PRINTF1(_L("6b. Now Get the TOMXILStructParam config parameter through the interface.")); - OMX_PARAM_PORTDEFINITIONTYPE omxconfig_g; - TOMXILStructParam omxParamStruct_g(&omxconfig_g, OMX_IndexParamPortDefinition); - error = iDummyComponent->GetConfig(omxParamStruct_g, iComponentInPortIf); - if (error != KErrNone) - { - ERR_PRINTF2(_L(" ERROR! - Fail to get TOMXILStructParam: error = %d"), error); - StopTest(error, EFail); - return; - } - if(omxconfig_g.nBufferCountActual != 3) - { - ERR_PRINTF1(_L(" ERROR! - Unexpected value. The get value does not match the value set.")); - StopTest(KErrCorrupt, EFail); - return; - } - } - - StopTest(KErrNone); - } - - -// -// RTestStepMILIFStates: To test driving the IL component state machine through MILIF. -// - -/* - * - * RTestStepMILIFStates - Test step constructor - * - */ -RTestStepMILIFStates::RTestStepMILIFStates(const TDesC& aTestName) -:RTestStepMILIFBase(aTestName) - { - } - -/* - * - * NewL - * - */ -RTestStepMILIFStates* RTestStepMILIFStates::NewL(const TDesC& aTestName) - { - RTestStepMILIFStates* self = new (ELeave) RTestStepMILIFStates(aTestName); - return self; - } - -/* - * - * DoKickoffTestL - * - */ -void RTestStepMILIFStates::DoKickoffTestL() - { - INFO_PRINTF1(_L("RTestStepMILIFStates: To test driving the IL component state machine through MILIF interface.")); - - RTestStepMILIFBase::DoKickoffTestL(); - } - -/* - * - * DoTestBodyL - - * - */ -void RTestStepMILIFStates::DoTestBody() - { - Fsm(EEventInit, KErrNone); - } - -/* - * - * Fsm - Executes this test events in sequence - * - * - */ -void RTestStepMILIFStates::Fsm(TTestEvents aEvent, TInt aError) - { - TInt error = KErrNone; - - switch (iTestState) - { - case ETestStateStart: - { - if (aEvent == EEventInit) - { - INFO_PRINTF1(_L("4. Trigger transition from Load to Idle in component by calling Initialize()")); - error = iDummyComponent->Initialize(); - if (error != KErrNone) - { - ERR_PRINTF2(_L(" ERROR! - MILComponentIf::Initialize() error = %d"), error); - StopTest(error, EFail); - break; - } - INFO_PRINTF1(_L(" -> Test State: EStatePlayInitializing")); - iTestState = ETestStateInitializing; - } - else - { - ERR_PRINTF2(_L(" ERROR! - ETestStateStart did not received expected event. Received event: %d"), aEvent); - StopTest(aError, EFail); - } - break; - } - - case ETestStateInitializing: - { - if (aEvent == EEventInitComplete) - { - INFO_PRINTF1(_L("5a. Check the component was left in the correct state after EEventInitComplete event")); - TILComponentState aState; - error = iDummyComponent->GetState(aState); - if ((error != KErrNone) || (aState != EComponentIdle)) - { - ERR_PRINTF3(_L(" ERROR! - MILComponentIf::GetState Incorrect state = %d, error = %d."), error, aState); - if (aState != EComponentIdle) - { - error = KErrGeneral; - } - StopTest(error, EFail); - break; - } - - INFO_PRINTF1(_L("5b. Trigger transition from Idle to Execute in component by calling Execute()")); - error = iDummyComponent->Execute(); - if (error != KErrNone) - { - ERR_PRINTF2(_L(" ERROR! - MILComponentIf::Execute() error = %d"), error); - StopTest(error, EFail); - break; - } - INFO_PRINTF1(_L(" -> Test State: EStatePlayInitialized")); - iTestState = ETestStateInitialized; - } - else - { - ERR_PRINTF2(_L(" ERROR! - ETestStateInitializing did not received expected event. Received event: %d"), aEvent); - StopTest(aError, EFail); - } - break; - } - - case ETestStateInitialized: - { - if (aEvent == EEventExecuteComplete) - { - INFO_PRINTF1(_L("6a. Check the component was left in the correct state after EEventExecuteComplete event")); - TILComponentState aState; - error = iDummyComponent->GetState(aState); - if ((error != KErrNone) || (aState != EComponentExecuting)) - { - ERR_PRINTF3(_L(" ERROR! - MILComponentIf::GetState Incorrect state = %d, error = %d."), error, aState); - if (aState != EComponentExecuting) - { - error = KErrGeneral; - } - StopTest(error, EFail); - break; - } - - INFO_PRINTF1(_L("6b. Trigger transition from Executing to Pause in component by calling Pause()")); - error = iDummyComponent->Pause(); - if (error != KErrNone) - { - ERR_PRINTF2(_L(" ERROR! - MILComponentIf::Pause() error = %d"), error); - StopTest(error, EFail); - break; - } - INFO_PRINTF1(_L(" -> Test State: EStatePlayPausing")); - iTestState = ETestStatePausing; - } - else - { - ERR_PRINTF2(_L(" ERROR! - ETestStateInitialized did not received expected event. Received event: %d"), aEvent); - StopTest(aError, EFail); - } - break; - } - - case ETestStatePausing: - { - if (aEvent == EEventPauseComplete) - { - INFO_PRINTF1(_L("7a. Check the component was left in the correct state after EEventPauseComplete event")); - TILComponentState aState; - error = iDummyComponent->GetState(aState); - if ((error != KErrNone) || (aState != EComponentPaused)) - { - ERR_PRINTF3(_L(" ERROR! - MILComponentIf::GetState error = %d, state = %d"), error, aState); - if (aState != EComponentPaused) - { - error = KErrGeneral; - } - StopTest(error, EFail); - break; - } - - INFO_PRINTF1(_L("7b. Trigger transition from Pause to Idle in component by calling Stop()")); - error = iDummyComponent->Stop(); - if (error != KErrNone) - { - ERR_PRINTF2(_L(" ERROR! - MILComponentIf::Stop() error = %d"), error); - StopTest(error, EFail); - break; - } - INFO_PRINTF1(_L(" -> Test State: ETestStateStopping")); - iTestState = ETestStateStopping; - } - else - { - ERR_PRINTF2(_L(" ERROR! - ETestStatePausing did not received expected event. Received event: %d"), aEvent); - StopTest(aError, EFail); - } - break; - } - - case ETestStateStopping: - { - if (aEvent == EEventStopComplete) - { - INFO_PRINTF1(_L("8. Check the component was left in the correct state after EEventStopComplete event")); - TILComponentState aState; - error = iDummyComponent->GetState(aState); - if ((error != KErrNone) || (aState != EComponentIdle)) - { - ERR_PRINTF3(_L(" ERROR! - MILComponentIf::GetState error = %d, state = %d"), error, aState); - if (aState != EComponentIdle) - { - error = KErrGeneral; - } - StopTest(error, EFail); - break; - } - StopTest(KErrNone); - } - else - { - ERR_PRINTF2(_L(" ERROR! - ETestStateStopping did not received expected event. Received event: %d"), aEvent); - StopTest(aError, EFail); - } - break; - } - - default: - { - ERR_PRINTF2(_L(" ERROR! - Invalid state received: %d"), iTestState); - StopTest(KErrGeneral, EFail); - } - } - - } - -/* - * - * MsgFromILComponent - - * - */ -TInt RTestStepMILIFStates::MsgFromILComponent(const MILComponentIf* aComponent, const TILEvent& aEvent) - { - TInt error = KErrNone; - - if (aComponent != iDummyComponent) - { - ERR_PRINTF1(_L(" ERROR! - Invalid callback received")); - StopTest(KErrGeneral, EFail); - return KErrGeneral; - } - - switch (aEvent.iEvent) - { - case EEventCmdComplete: - { - if (aEvent.iData1 == ECommandStateSet) - { - if (aEvent.iData2 == EComponentIdle) - { - INFO_PRINTF1(_L(" MsgFromILComponent:EEventCmdComplete -> EComponentIdle received")); - if (iTestState == ETestStateInitializing) - { - Fsm(EEventInitComplete, KErrNone); - } - else if (iTestState == ETestStateStopping) - { - Fsm(EEventStopComplete, KErrNone); - } - else - { - ERR_PRINTF1(_L(" ERROR! - Unexpected callback received")); - error = KErrGeneral; - } - } - else if(aEvent.iData2 == EComponentExecuting) - { - INFO_PRINTF1(_L(" MsgFromILComponent:EEventCmdComplete -> EComponentExecuting received")); - if (iTestState == ETestStateInitialized) - { - Fsm(EEventExecuteComplete, KErrNone); - } - else - { - ERR_PRINTF1(_L(" ERROR! - Unexpected callback received")); - error = KErrGeneral; - } - } - else if(aEvent.iData2 == EComponentPaused) - { - INFO_PRINTF1(_L(" MsgFromILComponent:EEventCmdComplete -> EComponentPaused received")); - if (iTestState == ETestStatePausing) - { - Fsm(EEventPauseComplete, KErrNone); - } - else - { - ERR_PRINTF1(_L(" ERROR! - Unexpected callback received")); - error = KErrGeneral; - } - } - else - { - ERR_PRINTF1(_L(" ERROR! - Unexpected callback received")); - error = KErrGeneral; - } - break; - } - } - default: - { - ERR_PRINTF1(_L(" ERROR! - Unexpected callback received")); - error = KErrNotSupported; - } - } - - if (error != KErrNone) - { - StopTest(error, EFail); - } - return error; - } - - -// -// RTestStepMILIFCommands: To test sending commands to the IL component through MILIF. -// - -/* - * - * RTestStepMILIFCommands - Test step constructor - * - */ -RTestStepMILIFCommands::RTestStepMILIFCommands(const TDesC& aTestName) -:RTestStepMILIFBase(aTestName) - { - } - -/* - * - * NewL - * - */ -RTestStepMILIFCommands* RTestStepMILIFCommands::NewL(const TDesC& aTestName) - { - RTestStepMILIFCommands* self = new (ELeave) RTestStepMILIFCommands(aTestName); - return self; - } - -/* - * - * DoKickoffTestL - * - */ -void RTestStepMILIFCommands::DoKickoffTestL() - { - INFO_PRINTF1(_L("RTestStepMILIFCommands: To test sending commands to the IL component through MILIF interface.")); - - RTestStepMILIFBase::DoKickoffTestL(); - } - -/* - * - * DoTestBodyL - - * - */ -void RTestStepMILIFCommands::DoTestBody() - { - Fsm(EEventInit, KErrNone); - } - -/* - * - * Fsm - Executes this test events in sequence - * - */ -void RTestStepMILIFCommands::Fsm(TTestEvents aEvent, TInt aError) - { - TInt error = KErrNone; - - switch (iTestState) - { - case ETestStateStart: - { - if (aEvent == EEventInit) - { - INFO_PRINTF1(_L("4. Trigger FlushAllPorts")); - error = iDummyComponent->FlushAllPorts(); - if (error != KErrNone) - { - ERR_PRINTF2(_L(" ERROR! - MILComponentIf::FlushAllPorts error = %d"), error); - StopTest(error, EFail); - break; - } - INFO_PRINTF1(_L(" -> Test State: ETestStateFlushing")); - iTestState = ETestStateFlushing; - } - else - { - ERR_PRINTF2(_L(" ERROR! - ETestStateFlushing did not received expected event. Received event: %d"), aEvent); - StopTest(aError, EFail); - } - break; - } - - case ETestStateFlushing: - { - if (aEvent == EEventFlushComplete) - { - INFO_PRINTF1(_L(" Flush Command partially completed.")); - INFO_PRINTF1(_L(" -> Test State: ETestStateFirstPortFlushed")); - iTestState = ETestStateFirstPortFlushed; - } - else - { - ERR_PRINTF2(_L(" ERROR! - ETestStateFlushing did not received expected event. Received event: %d"), aEvent); - StopTest(aError, EFail); - } - break; - } - - case ETestStateFirstPortFlushed: - { - if (aEvent == EEventFlushComplete) - { - INFO_PRINTF1(_L(" Flush Command completed.")); - INFO_PRINTF1(_L("5. Trigger SendCommand() with ECommandPortDisable")); - TILCommand aCommand; - aCommand.iCmd = ECommandPortDisable; - aCommand.iData1 = 0; - aCommand.iExtraData = NULL; - error = iDummyComponent->SendCommand(aCommand); - - INFO_PRINTF1(_L(" -> Test State: ETestStateDisablingPort")); - iTestState = ETestStateDisablingPort; - } - else - { - ERR_PRINTF2(_L(" ERROR! - ETestStateFirstPortFlushed did not received expected event. Received event: %d"), aEvent); - StopTest(aError, EFail); - } - break; - } - - case ETestStateDisablingPort: - { - if (aEvent == EEventPortDisableComplete) - { - INFO_PRINTF1(_L(" -> Test State: Port Disabled. Fisnished Test")); - StopTest(KErrNone); - } - else - { - ERR_PRINTF2(_L(" ERROR! - ETestStateInitialized did not received expected event. Received event: %d"), aEvent); - StopTest(aError, EFail); - } - break; - } - - default: - { - ERR_PRINTF2(_L(" ERROR! - Invalid state received: %d"), iTestState); - StopTest(KErrGeneral, EFail); - } - } - } - -/* - * - * MsgFromILComponent - - * - */ -TInt RTestStepMILIFCommands::MsgFromILComponent(const MILComponentIf* aComponent, const TILEvent& aEvent) - { - TInt error = KErrNone; - - if (aComponent != iDummyComponent) - { - ERR_PRINTF1(_L(" ERROR! - Invalid callback received")); - StopTest(KErrGeneral, EFail); - return KErrGeneral; - } - - switch (aEvent.iEvent) - { - case EEventCmdComplete: - { - if (aEvent.iData1 == ECommandFlush) - { - INFO_PRINTF1(_L(" MsgFromILComponent:EEventCmdComplete -> ECommandFlush received")); - Fsm(EEventFlushComplete, KErrNone); - } - else if (aEvent.iData1 == ECommandPortDisable) - { - INFO_PRINTF1(_L(" MsgFromILComponent:EEventCmdComplete -> ECommandPortDisable received")); - Fsm(EEventPortDisableComplete, KErrNone); - } - else - { - ERR_PRINTF1(_L(" ERROR! - Unexpected callback received")); - error = KErrGeneral; - } - break; - } - default: - { - ERR_PRINTF1(_L(" ERROR! - Unexpected callback received")); - error = KErrNotSupported; - } - } - - if (error != KErrNone) - { - StopTest(error, EFail); - } - return error; - } - - -// -// RTestStepMILIFExtensions: To test configuration of the IL component with extended params through MILIF. -// - -/* - * - * RTestStepMILIFExtensions - Test step constructor - * - */ -RTestStepMILIFExtensions::RTestStepMILIFExtensions(const TDesC& aTestName) -:RTestStepMILIFBase(aTestName) - { - } - -/* - * - * NewL - * - */ -RTestStepMILIFExtensions* RTestStepMILIFExtensions::NewL(const TDesC& aTestName) - { - RTestStepMILIFExtensions* self = new (ELeave) RTestStepMILIFExtensions(aTestName); - return self; - } - -/* - * - * DoKickoffTestL - * - */ -void RTestStepMILIFExtensions::DoKickoffTestL() - { - INFO_PRINTF1(_L("RTestStepMILIFExtensions: To test configuration of the IL component with extended params through MILIF interface.")); - - RTestStepMILIFBase::DoKickoffTestL(); - } - -/* - * - * DoTestBodyL - - * - */ -void RTestStepMILIFExtensions::DoTestBody() - { - - TInt error = KErrNone; - - INFO_PRINTF1(_L("4. Get Component Input ports through MILIF interface.")); - RPointerArray ifPorts; - error = iDummyComponent->GetComponentInputPorts(ifPorts); - if (error == KErrNone && ifPorts.Count() == 1) - { - iComponentInPortIf = ifPorts[KZerothPort]; - ifPorts.Close(); - } - else - { - if (ifPorts.Count() != 1) - { - error = KErrNotFound; - } - ifPorts.Close(); - StopTest(error, EFail); - return; - } - - INFO_PRINTF1(_L("5a. Set a (partial) config port parameter through the interface's extension mechanism.")); - TPortDefinitionType partialConfig_s; - partialConfig_s.nBufferCountActual = 1; - TILPortDefinition paramStruct_s(partialConfig_s); - error = iDummyComponent->SetExtConfig(KExtensionPortDefinitionName, paramStruct_s, iComponentInPortIf); - if ((iTestStepName == _L("MM-MILIF-DUMMYOMXILIF-U-0005"))) - { - if (error != KErrNone) - { - ERR_PRINTF2(_L(" ERROR! - Fail to set extension: error = %d"), error); - StopTest(error, EFail); - return; - } - } - else - { - StopTest(KErrGeneral, EFail); - } - - INFO_PRINTF1(_L("5b. Get the parameter set in 5a through the interface's extension mechanism.")); - TILPortDefinition paramStruct_g; - TPortDefinitionType* partialConfig_g = NULL; - error = iDummyComponent->GetExtConfig(KExtensionPortDefinitionName, paramStruct_g, iComponentInPortIf); - if ((iTestStepName == _L("MM-MILIF-DUMMYOMXILIF-U-0005"))) - { - if (error != KErrNone) - { - ERR_PRINTF2(_L(" ERROR! - Fail to get TILPortDefinition: error = %d"), error); - StopTest(error, EFail); - return; - } - partialConfig_g = TILPortDefinition::GetStructure(paramStruct_g); - if(partialConfig_g->nBufferCountActual != 1) - { - ERR_PRINTF1(_L(" ERROR! - Unexpected value. The get value does not match the value set.")); - StopTest(KErrCorrupt, EFail); - return; - } - } - else - { - StopTest(KErrGeneral, EFail); - return; - } - - StopTest(KErrNone); - } - - -// -// RTestStepMILIFComponentRole: To test access to the IL component role through MILIF. -// - -/* - * - * RTestStepMILIFComponentRole - Test step constructor - * - */ -RTestStepMILIFComponentRole::RTestStepMILIFComponentRole(const TDesC& aTestName) -:RTestStepMILIFBase(aTestName) - { - } - -/* - * - * NewL - * - */ -RTestStepMILIFComponentRole* RTestStepMILIFComponentRole::NewL(const TDesC& aTestName) - { - RTestStepMILIFComponentRole* self = new (ELeave) RTestStepMILIFComponentRole(aTestName); - return self; - } - -/* - * - * DoKickoffTestL - * - */ -void RTestStepMILIFComponentRole::DoKickoffTestL() - { - INFO_PRINTF1(_L("RTestStepMILIFComponentRole: To test access to the IL component role through MILIF interface.")); - - RTestStepMILIFBase::DoKickoffTestL(); - } - -/* - * - * DoTestBodyL - - * - */ -void RTestStepMILIFComponentRole::DoTestBody() - { - TInt error = KErrNone; - TInt index = 0; - - HBufC8* buf = HBufC8::New(KMaxComponentRoleLength); - if (buf == NULL) - { - StopTest(KErrNoMemory, EFail); - } - else - { - TPtr8 componentRole = buf->Des(); - - INFO_PRINTF1(_L("4. Get component role through MILIF interface.")); - error = iDummyComponent->ComponentRoleEnum(componentRole, index); - - INFO_PRINTF1(_L("5. Check the component's role returned is the expected role.")); - if (error != KErrNone) - { - ERR_PRINTF2(_L(" ERROR! - MILComponentIf::ComponentRoleEnum failed. Error returned = %d"), error); - StopTest(error, EFail); - delete buf; - return; - } - else if (buf->Compare(KFakeRole) != 0 ) - { - ERR_PRINTF1(_L(" ERROR! - MILComponentIf::ComponentRoleEnum failed. Unexpected role.")); - StopTest(error, EFail); - delete buf; - return; - } - StopTest(KErrNone); - - delete buf; - } - } -