sl@0: // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // sl@0: sl@0: /** sl@0: @file sl@0: @internalComponent sl@0: @prototype sl@0: */ sl@0: sl@0: #include "dvbhhaitest.h" sl@0: #include "dvbhhaitestutil.h" sl@0: #include sl@0: sl@0: /** sl@0: * RDvbhHaiTest sl@0: * DVB-H HAI Unit Tests on stub implementations sl@0: */ sl@0: sl@0: RDvbhHaiTest* RDvbhHaiTest::NewL(TBool aRequireReceiverInfo, const TDesC& aTestName) sl@0: { sl@0: RDvbhHaiTest* self = new (ELeave) RDvbhHaiTest(aRequireReceiverInfo, aTestName); sl@0: return self; sl@0: } sl@0: sl@0: RDvbhHaiTest::RDvbhHaiTest(TBool aRequireReceiverInfo, const TDesC& aTestName) sl@0: : RTestStep(), iDvbhTestDriverVersion(1, 2, 3), iDvbhTestTime(TDateTime(2007, EJuly, 30, 16, 35, 22, 18)), sl@0: iDvbhTestPerformanceData(), iDvbhTestScanConfiguration(), iDvbhTestPlatform(), iDvbhTestHardwareInfo(), sl@0: iDvbhTestNetwork(), iDvbhTestNetworkTime(), iDvbhTestScanResult(), iRequireReceiverInfo(aRequireReceiverInfo), sl@0: iRxInfo(NULL), iTestUtils(NULL), iReceiverType(EDvbhReceiverBluetooth) sl@0: { sl@0: iTestStepName.Copy(aTestName); sl@0: SetupParameterData(); sl@0: } sl@0: sl@0: void RDvbhHaiTest::SetupParameterData() sl@0: { sl@0: // The members initialised here should be treated as constants sl@0: // and not changed. sl@0: iDvbhTestPerformanceData.iFilterCount = 1; sl@0: iDvbhTestPerformanceData.iMaxFilters = 2; sl@0: iDvbhTestPerformanceData.iDataCount = 3; sl@0: iDvbhTestPerformanceData.iWriteCount = 4; sl@0: iDvbhTestPerformanceData.iWriteCommandCount = 5; sl@0: iDvbhTestPerformanceData.iReadCount = 6; sl@0: iDvbhTestPerformanceData.iReadCommandCount = 7; sl@0: sl@0: iDvbhTestScanConfiguration.iScanStartFrequency = 100; sl@0: iDvbhTestScanConfiguration.iScanEndFrequency = 200; sl@0: iDvbhTestScanConfiguration.iSignalBandwidth = 10; sl@0: iDvbhTestScanConfiguration.iScanOptions = EDvbhScanOptionFullScan; sl@0: sl@0: iDvbhTestPlatform.iPlatform.iId = KInitialPlatformId; sl@0: iDvbhTestPlatform.iPlatform.iName = KInitialPlatformName; sl@0: iDvbhTestPlatform.iEsgRoot = KDvbhTestIpV6Addr; sl@0: sl@0: iDvbhTestHardwareInfo = KDvbhTestHardwareInfo; sl@0: sl@0: iDvbhTestNetworkTime.iNetworkTime = iDvbhTestTime; sl@0: iDvbhTestNetworkTime.iTerminalTimeStamp = KDvbhTestTerminalTimeStamp; sl@0: iDvbhTestNetworkTime.iPlatformId = KInitialPlatformId; sl@0: } sl@0: sl@0: void RDvbhHaiTest::InfoPrintf3(const TDesC16& aString, TInt aInt1, TInt aInt2) sl@0: { sl@0: INFO_PRINTF3(aString, aInt1, aInt2); sl@0: } sl@0: sl@0: void RDvbhHaiTest::InfoPrintf4(const TDesC16& aString, TInt aInt1, TInt aInt2, TInt aInt3) sl@0: { sl@0: INFO_PRINTF4(aString, aInt1, aInt2, aInt3); sl@0: } sl@0: sl@0: TVerdict RDvbhHaiTest::DoTestStepPreambleL() sl@0: { sl@0: TRAPD(result, iTestUtils = CDvbhTestUtil::NewL(*this)); sl@0: if (result != KErrNone) sl@0: { sl@0: INFO_PRINTF2(_L("Error %d creating CDvbhTestUtil"), result); sl@0: return EInconclusive; sl@0: } sl@0: sl@0: if (iRequireReceiverInfo) sl@0: { sl@0: TRAP(result, iRxInfo = CDvbhReceiverInfo::NewL()) sl@0: if (result != KErrNone) sl@0: { sl@0: INFO_PRINTF2(_L("Error %d creating CDvbhReceiverInfo"), result); sl@0: return EInconclusive; sl@0: } sl@0: } sl@0: sl@0: if (iTestStepName.Compare(_L("MM-TV-DVBH-U-101")) == 0) sl@0: { sl@0: result = iTestUtils->DefineAllDvbhProperties(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-103")) == 0) sl@0: { sl@0: result = iTestUtils->DefineDvbhStateProperty(EDvbhStateInactive); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-104")) == 0) sl@0: { sl@0: // Receiver state must be EDvbhStateReceiving before we can do this test. sl@0: result = iTestUtils->DefineDvbhStateProperty(EDvbhStateReceiving); sl@0: if (result == KErrNone) sl@0: { sl@0: result = iTestUtils->DefineDvbhIntegerProperty(EDvbhPropertyKeySignalQuality, KInitialSignalQuality); sl@0: } sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-105")) == 0) sl@0: { sl@0: // Receiver state must be EDvbhStateReady or EDvbhStateReceiving before we can do this test. sl@0: result = iTestUtils->DefineDvbhStateProperty(EDvbhStateReady); sl@0: if (result == KErrNone) sl@0: { sl@0: TPckg initialPlatformPckg(iDvbhTestPlatform); sl@0: result = iTestUtils->DefineDvbhProperty(EDvbhPropertyKeyPlatform, CDvbhTestUtil::GetType(EDvbhPropertyKeyPlatform), initialPlatformPckg); sl@0: } sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-106")) == 0) sl@0: { sl@0: // Receiver state must be EDvbhStateReady or EDvbhStateReceiving before we can do this test. sl@0: result = iTestUtils->DefineDvbhStateProperty(EDvbhStateReady); sl@0: if (result == KErrNone) sl@0: { sl@0: TPckg initialTimePckg(iDvbhTestNetworkTime); sl@0: result = iTestUtils->DefineDvbhProperty(EDvbhPropertyKeyNetworkTime, CDvbhTestUtil::GetType(EDvbhPropertyKeyNetworkTime), initialTimePckg); sl@0: } sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-107")) == 0) sl@0: { sl@0: // Receiver state must be EDvbhStateReady or EDvbhStateReceiving before we can do this test. sl@0: result = iTestUtils->DefineDvbhStateProperty(EDvbhStateReady); sl@0: if (result == KErrNone) sl@0: { sl@0: TPckg initialDataPckg(iDvbhTestPerformanceData); sl@0: result = iTestUtils->DefineDvbhProperty(EDvbhPropertyKeyPerformanceData, CDvbhTestUtil::GetType(EDvbhPropertyKeyPerformanceData), initialDataPckg); sl@0: } sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-108")) == 0) sl@0: { sl@0: // Receiver state must be EDvbhStateReady or EDvbhStateReceiving before we can do this test. sl@0: result = iTestUtils->DefineDvbhStateProperty(EDvbhStateReady); sl@0: if (result == KErrNone) sl@0: { sl@0: result = iTestUtils->DefineDvbhIntegerProperty(EDvbhPropertyKeyFrequency, KInitialFrequency); sl@0: } sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-109")) == 0) sl@0: { sl@0: // Receiver state must be EDvbhStateReady or EDvbhStateReceiving before we can do this test. sl@0: result = iTestUtils->DefineDvbhStateProperty(EDvbhStateReady); sl@0: if (result == KErrNone) sl@0: { sl@0: result = iTestUtils->DefineDvbhIntegerProperty(EDvbhPropertyKeyCellId, KInitialCellId); sl@0: } sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-110")) == 0) sl@0: { sl@0: // Receiver state must be EDvbhStateReady or EDvbhStateReceiving before we can do this test. sl@0: result = iTestUtils->DefineDvbhStateProperty(EDvbhStateReady); sl@0: if (result == KErrNone) sl@0: { sl@0: result = iTestUtils->DefineDvbhIntegerProperty(EDvbhPropertyKeyNetworkId, KInitialNetworkId); sl@0: } sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-309")) == 0) sl@0: { sl@0: // Receiver state must be EDvbhStateReceiving before we can do this test. sl@0: result = iTestUtils->DefineDvbhStateProperty(EDvbhStateReceiving); sl@0: } sl@0: sl@0: return (result == KErrNone ? EPass : EInconclusive); sl@0: } sl@0: sl@0: TVerdict RDvbhHaiTest::DoTestStepPostambleL() sl@0: { sl@0: delete iRxInfo; sl@0: iRxInfo = NULL; sl@0: sl@0: TInt result = KErrNone; sl@0: if (iTestStepName.Compare(_L("MM-TV-DVBH-U-101")) == 0) sl@0: { sl@0: result = iTestUtils->DeleteAllDvbhProperties(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-103")) == 0) sl@0: { sl@0: result = iTestUtils->DeleteDvbhProperty(EDvbhPropertyKeyState); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-104")) == 0) sl@0: { sl@0: result = iTestUtils->DeleteDvbhProperty(EDvbhPropertyKeyState); sl@0: TInt result2 = iTestUtils->DeleteDvbhProperty(EDvbhPropertyKeySignalQuality); sl@0: result = result2 != KErrNone ? result2 : result; sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-105")) == 0) sl@0: { sl@0: result = iTestUtils->DeleteDvbhProperty(EDvbhPropertyKeyState); sl@0: TInt result2 = iTestUtils->DeleteDvbhProperty(EDvbhPropertyKeyPlatform); sl@0: result = result2 != KErrNone ? result2 : result; sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-106")) == 0) sl@0: { sl@0: result = iTestUtils->DeleteDvbhProperty(EDvbhPropertyKeyState); sl@0: TInt result2 = iTestUtils->DeleteDvbhProperty(EDvbhPropertyKeyNetworkTime); sl@0: result = result2 != KErrNone ? result2 : result; sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-107")) == 0) sl@0: { sl@0: result = iTestUtils->DeleteDvbhProperty(EDvbhPropertyKeyState); sl@0: TInt result2 = iTestUtils->DeleteDvbhProperty(EDvbhPropertyKeyPerformanceData); sl@0: result = result2 != KErrNone ? result2 : result; sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-108")) == 0) sl@0: { sl@0: result = iTestUtils->DeleteDvbhProperty(EDvbhPropertyKeyState); sl@0: TInt result2 = iTestUtils->DeleteDvbhProperty(EDvbhPropertyKeyFrequency); sl@0: result = result2 != KErrNone ? result2 : result; sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-109")) == 0) sl@0: { sl@0: result = iTestUtils->DeleteDvbhProperty(EDvbhPropertyKeyState ); sl@0: TInt result2 = iTestUtils->DeleteDvbhProperty(EDvbhPropertyKeyCellId); sl@0: result = result2 != KErrNone ? result2 : result; sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-110")) == 0) sl@0: { sl@0: result = iTestUtils->DeleteDvbhProperty(EDvbhPropertyKeyState ); sl@0: TInt result2 = iTestUtils->DeleteDvbhProperty(EDvbhPropertyKeyNetworkId); sl@0: result = result2 != KErrNone ? result2 : result; sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-309")) == 0) sl@0: { sl@0: result = iTestUtils->DeleteDvbhProperty(EDvbhPropertyKeyState ); sl@0: } sl@0: sl@0: delete iTestUtils; sl@0: iTestUtils = NULL; sl@0: return (result == KErrNone ? EPass : EInconclusive); sl@0: } sl@0: sl@0: TVerdict RDvbhHaiTest::DoTestStepL() sl@0: { sl@0: if(iTestStepName.Compare(_L("MM-TV-DVBH-U-001")) == 0) sl@0: { sl@0: return DoCreateReceiverOnStackTestStep(); sl@0: } sl@0: else if(iTestStepName.Compare(_L("MM-TV-DVBH-U-002")) == 0) sl@0: { sl@0: return DoCreateReceiverOnHeapTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-003")) == 0) sl@0: { sl@0: return DoGetDriverVersionBeforeOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-004")) == 0) sl@0: { sl@0: return DoReceiverOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-005")) == 0) sl@0: { sl@0: return DoMultipleReceiverOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-006")) == 0) sl@0: { sl@0: return DoGetDriverVersionAfterOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-007")) == 0) sl@0: { sl@0: return DoPowerOnAfterOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-008")) == 0) sl@0: { sl@0: return DoSetScanConfigurationAfterOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-009")) == 0) sl@0: { sl@0: return DoGetScanConfigurationAfterOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-010")) == 0) sl@0: { sl@0: return DoGetDvbhVersionAfterOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-011")) == 0) sl@0: { sl@0: return DoGetHardwareInfoAfterOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-012")) == 0) sl@0: { sl@0: return DoScanAfterOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-013")) == 0) sl@0: { sl@0: return DoSetPlatformAfterOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-014")) == 0) sl@0: { sl@0: return DoCreateFilterAfterOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-015")) == 0) sl@0: { sl@0: return DoCancelFilterAfterOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-016")) == 0) sl@0: { sl@0: return DoReceiveIpDataAfterOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-017")) == 0) sl@0: { sl@0: return DoUpdateNetworkTimeAfterOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-018")) == 0) sl@0: { sl@0: return DoCustomAsyncAfterOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-019")) == 0) sl@0: { sl@0: return DoCancelCustomAsyncAfterOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-020")) == 0) sl@0: { sl@0: return DoCustomAfterOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-022")) == 0) sl@0: { sl@0: return DoPowerOffAfterOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-023")) == 0) sl@0: { sl@0: return DoSetDisabledAfterOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-024")) == 0) sl@0: { sl@0: return DoCancelScanAfterOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-025")) == 0) sl@0: { sl@0: return DoCancelSetPlatformAfterOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-026")) == 0) sl@0: { sl@0: return DoCancelReceiveIpDataAfterOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-027")) == 0) sl@0: { sl@0: return DoCancelUpdateNetworkTimeAfterOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-101")) == 0) sl@0: { sl@0: return DoCreateReceiverInfoTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-102")) == 0) sl@0: { sl@0: return DoCreateReceiverInfoTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-103")) == 0) sl@0: { sl@0: return DoGetStateTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-104")) == 0) sl@0: { sl@0: return DoGetSignalQualityTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-105")) == 0) sl@0: { sl@0: return DoGetPlatformTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-106")) == 0) sl@0: { sl@0: return DoGetNetworkTimeTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-107")) == 0) sl@0: { sl@0: return DoGetPerformanceDataTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-108")) == 0) sl@0: { sl@0: return DoGetFrequencyTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-109")) == 0) sl@0: { sl@0: return DoGetCellIdTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-110")) == 0) sl@0: { sl@0: return DoGetNetworkIdTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-202")) == 0) sl@0: { sl@0: return DoPowerOnBeforeOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-203")) == 0) sl@0: { sl@0: return DoSetScanConfigurationBeforeOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-204")) == 0) sl@0: { sl@0: return DoGetScanConfigurationBeforeOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-205")) == 0) sl@0: { sl@0: return DoGetDvbhVersionBeforeOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-206")) == 0) sl@0: { sl@0: return DoGetHardwareInfoBeforeOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-207")) == 0) sl@0: { sl@0: return DoScanBeforeOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-208")) == 0) sl@0: { sl@0: return DoSetPlatformBeforeOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-209")) == 0) sl@0: { sl@0: return DoCreateFilterBeforeOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-210")) == 0) sl@0: { sl@0: return DoCancelFilterBeforeOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-211")) == 0) sl@0: { sl@0: return DoReceiveIpDataBeforeOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-212")) == 0) sl@0: { sl@0: return DoUpdateNetworkTimeBeforeOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-213")) == 0) sl@0: { sl@0: return DoCustomAsyncBeforeOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-214")) == 0) sl@0: { sl@0: return DoCancelCustomAsyncBeforeOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-215")) == 0) sl@0: { sl@0: return DoCustomBeforeOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-216")) == 0) sl@0: { sl@0: return DoCloseBeforeOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-217")) == 0) sl@0: { sl@0: return DoPowerOffBeforeOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-218")) == 0) sl@0: { sl@0: return DoSetDisabledBeforeOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-219")) == 0) sl@0: { sl@0: return DoCancelScanBeforeOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-220")) == 0) sl@0: { sl@0: return DoCancelSetPlatformBeforeOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-221")) == 0) sl@0: { sl@0: return DoCancelReceiveIpDataBeforeOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-222")) == 0) sl@0: { sl@0: return DoCancelUpdateNetworkTimeBeforeOpenTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-301")) == 0) sl@0: { sl@0: return DoGetStateNoPropertiesTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-302")) == 0) sl@0: { sl@0: return DoGetSignalQualityNoPropertiesTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-303")) == 0) sl@0: { sl@0: return DoGetPlatformNoPropertiesTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-304")) == 0) sl@0: { sl@0: return DoGetNetworkTimeNoPropertiesTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-305")) == 0) sl@0: { sl@0: return DoGetPerformanceDataNoPropertiesTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-306")) == 0) sl@0: { sl@0: return DoGetFrequencyNoPropertiesTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-307")) == 0) sl@0: { sl@0: return DoGetCellIdNoPropertiesTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-308")) == 0) sl@0: { sl@0: return DoGetNetworkIdNoPropertiesTestStep(); sl@0: } sl@0: else if (iTestStepName.Compare(_L("MM-TV-DVBH-U-309")) == 0) sl@0: { sl@0: return DoGetTestsNoProperties(); sl@0: } sl@0: sl@0: return EInconclusive; sl@0: } sl@0: sl@0: TVerdict RDvbhHaiTest::DoCreateReceiverOnStackTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: { sl@0: //Create RDvbhReceiver on stack sl@0: RDvbhReceiver receiver; sl@0: } sl@0: //RDvbhReceiver out-of-scope, verify no heap leaks sl@0: __MM_HEAP_MARKEND; sl@0: return EPass; sl@0: } sl@0: sl@0: TVerdict RDvbhHaiTest::DoCreateReceiverOnHeapTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: sl@0: RDvbhReceiver* receiver = new RDvbhReceiver; sl@0: if (receiver == NULL) sl@0: { sl@0: verdict = EInconclusive; sl@0: } sl@0: else sl@0: { sl@0: delete receiver; sl@0: receiver = NULL; sl@0: } sl@0: sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: TVerdict RDvbhHaiTest::DoGetDriverVersion(RDvbhReceiver& aReceiver) sl@0: { sl@0: TVerdict verdict = EPass; sl@0: TVersion version = iDvbhTestDriverVersion; sl@0: sl@0: TInt result = aReceiver.GetDriverVersion(version); sl@0: if (result != KErrNotSupported) sl@0: { sl@0: INFO_PRINTF2(_L("RDvbhReceiver::GetDriverVersion returned %d"), result); sl@0: verdict = EFail; sl@0: } sl@0: else if (!CDvbhTestUtil::CompareVersions(version, iDvbhTestDriverVersion)) sl@0: { sl@0: INFO_PRINTF1(_L("RDvbhReceiver::GetDriverVersion modified its arguments.")); sl@0: verdict = EFail; sl@0: } sl@0: return verdict; sl@0: } sl@0: sl@0: TVerdict RDvbhHaiTest::DoGetDriverVersionBeforeOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: verdict = DoGetDriverVersion(receiver); sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: /** sl@0: * @param aMultiples the number of times to call open on a single RDvbhReceiver instance. Must be greater than 0. sl@0: * sl@0: * Creates a RDvbhReceiver instance, calls Open aMultiples of times on it, then Closes it. sl@0: */ sl@0: TVerdict RDvbhHaiTest::DoReceiverOpenAndClose(TUint aMultiples) sl@0: { sl@0: TVerdict verdict = EPass; sl@0: RDvbhReceiver receiver; sl@0: sl@0: if (aMultiples == 0) sl@0: { sl@0: verdict = EInconclusive; sl@0: } sl@0: else sl@0: { sl@0: for (TUint i=0;i < aMultiples;++i) sl@0: { sl@0: TVerdict openVerdict = OpenReceiver(receiver); sl@0: verdict = (openVerdict == EPass) ? verdict : openVerdict; sl@0: } sl@0: } sl@0: receiver.Close(); sl@0: return verdict; sl@0: } sl@0: sl@0: /** sl@0: * Helper used to open a receiver before testing other methods. sl@0: * @return EInconclusive if the Open call did not behave as expected so it shouldn't be used to test the Open() method itself. sl@0: */ sl@0: TVerdict RDvbhHaiTest::OpenReceiver(RDvbhReceiver& aReceiver) sl@0: { sl@0: TVerdict verdict = EPass; sl@0: TInt result = aReceiver.Open(iReceiverType); sl@0: if (result != KErrNotSupported) sl@0: { sl@0: INFO_PRINTF2(_L("RDvbhReceiver::Open returned %d"), result); sl@0: verdict = EInconclusive; sl@0: } sl@0: return verdict; sl@0: } sl@0: sl@0: TVerdict RDvbhHaiTest::DoReceiverOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = DoReceiverOpenAndClose(); sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: TVerdict RDvbhHaiTest::DoMultipleReceiverOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = DoReceiverOpenAndClose(3); sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: TVerdict RDvbhHaiTest::DoGetDriverVersionAfterOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: if ((verdict = OpenReceiver(receiver)) == EPass) sl@0: { sl@0: verdict = DoGetDriverVersion(receiver); sl@0: receiver.Close(); sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: TVerdict RDvbhHaiTest::DoPowerOnAfterOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: if ((verdict = OpenReceiver(receiver)) == EPass) sl@0: { sl@0: TRequestStatus status; sl@0: TInt result = receiver.PowerOn(status); sl@0: if (result != KErrNotSupported) sl@0: { sl@0: INFO_PRINTF2(_L("RDvbhReceiver::PowerOn returned %d"), result); sl@0: verdict = EFail; sl@0: } sl@0: receiver.Close(); sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: TVerdict RDvbhHaiTest::DoSetScanConfigurationAfterOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: if ((verdict = OpenReceiver(receiver)) == EPass) sl@0: { sl@0: TInt result = receiver.SetScanConfiguration(iDvbhTestScanConfiguration); sl@0: if (result != KErrNotSupported) sl@0: { sl@0: INFO_PRINTF2(_L("RDvbhReceiver::SetScanConfiguration returned %d"), result); sl@0: verdict = EFail; sl@0: } sl@0: receiver.Close(); sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: TVerdict RDvbhHaiTest::DoGetScanConfigurationAfterOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: if ((verdict = OpenReceiver(receiver)) == EPass) sl@0: { sl@0: TDvbhScanConfiguration scanConfig; sl@0: scanConfig.iScanStartFrequency = iDvbhTestScanConfiguration.iScanStartFrequency; sl@0: scanConfig.iScanEndFrequency = iDvbhTestScanConfiguration.iScanEndFrequency; sl@0: scanConfig.iSignalBandwidth = iDvbhTestScanConfiguration.iSignalBandwidth; sl@0: scanConfig.iScanOptions = iDvbhTestScanConfiguration.iScanOptions; sl@0: sl@0: TInt result = receiver.GetScanConfiguration(scanConfig); sl@0: if (result != KErrNotSupported) sl@0: { sl@0: INFO_PRINTF2(_L("RDvbhReceiver::GetScanConfiguration returned %d"), result); sl@0: verdict = EFail; sl@0: } sl@0: else sl@0: { sl@0: if (!CDvbhTestUtil::CompareScanConfigurations(scanConfig, iDvbhTestScanConfiguration)) sl@0: { sl@0: INFO_PRINTF1(_L("RDvbhReceiver::GetScanConfiguration modified its arguments.")); sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: receiver.Close(); sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: TVerdict RDvbhHaiTest::DoGetDvbhVersionAfterOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: if ((verdict = OpenReceiver(receiver)) == EPass) sl@0: { sl@0: TVersion version = iDvbhTestDriverVersion; sl@0: TInt result = receiver.GetDvbhVersion(version); sl@0: if (result != KErrNotSupported) sl@0: { sl@0: INFO_PRINTF2(_L("RDvbhReceiver::GetDvbhVersion returned %d"), result); sl@0: verdict = EFail; sl@0: } sl@0: else sl@0: { sl@0: if (!CDvbhTestUtil::CompareVersions(version, iDvbhTestDriverVersion)) sl@0: { sl@0: INFO_PRINTF1(_L("RDvbhReceiver::GetDvbhVersion modified its arguments.")); sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: receiver.Close(); sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: TVerdict RDvbhHaiTest::DoGetHardwareInfoAfterOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: if ((verdict = OpenReceiver(receiver)) == EPass) sl@0: { sl@0: TDvbhHardwareInfo info = iDvbhTestHardwareInfo; sl@0: TInt result = receiver.GetHardwareInfo(info); sl@0: if (result != KErrNotSupported) sl@0: { sl@0: INFO_PRINTF2(_L("RDvbhReceiver::GetHardwareInfo returned %d"), result); sl@0: verdict = EFail; sl@0: } sl@0: else sl@0: { sl@0: if (info.Compare(iDvbhTestHardwareInfo) != 0) // Compare returns 0 if they are the same sl@0: { sl@0: INFO_PRINTF1(_L("RDvbhReceiver::GetHardwareInfo modified its arguments.")); sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: receiver.Close(); sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: TVerdict RDvbhHaiTest::DoScanAfterOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: if ((verdict = OpenReceiver(receiver)) == EPass) sl@0: { sl@0: TRequestStatus status; sl@0: TInt result = receiver.Scan(*this, status); sl@0: if (result != KErrNotSupported) sl@0: { sl@0: INFO_PRINTF2(_L("RDvbhReceiver::Scan returned %d"), result); sl@0: verdict = EFail; sl@0: } sl@0: receiver.Close(); sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: TVerdict RDvbhHaiTest::DoSetPlatformAfterOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: if ((verdict = OpenReceiver(receiver)) == EPass) sl@0: { sl@0: TRequestStatus status; sl@0: TInt result = receiver.SetPlatform(iDvbhTestNetwork, iDvbhTestPlatform.iPlatform, status); sl@0: if (result != KErrNotSupported) sl@0: { sl@0: INFO_PRINTF2(_L("RDvbhReceiver::SetPlatform returned %d"), result); sl@0: verdict = EFail; sl@0: } sl@0: receiver.Close(); sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: TVerdict RDvbhHaiTest::DoCreateFilterAfterOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: if ((verdict = OpenReceiver(receiver)) == EPass) sl@0: { sl@0: TInt filterId = KDvbhTestFilterId; sl@0: TRequestStatus status; sl@0: TInt result = receiver.CreateFilter(KDvbhTestIpV6Addr, filterId, status); sl@0: if (result != KErrNotSupported) sl@0: { sl@0: INFO_PRINTF2(_L("RDvbhReceiver::CreateFilter returned %d"), result); sl@0: verdict = EFail; sl@0: } sl@0: else sl@0: { sl@0: if (filterId != KDvbhTestFilterId) sl@0: { sl@0: INFO_PRINTF1(_L("RDvbhReceiver::CreateFilter modified its arguments.")); sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: receiver.Close(); sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: TVerdict RDvbhHaiTest::DoCancelFilterAfterOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: if ((verdict = OpenReceiver(receiver)) == EPass) sl@0: { sl@0: TInt filterId = KDvbhTestFilterId; sl@0: TInt result = receiver.CancelFilter(filterId); sl@0: if (result != KErrNotSupported) sl@0: { sl@0: INFO_PRINTF2(_L("RDvbhReceiver::CancelFilter returned %d"), result); sl@0: verdict = EFail; sl@0: } sl@0: receiver.Close(); sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: TVerdict RDvbhHaiTest::DoReceiveIpDataAfterOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: if ((verdict = OpenReceiver(receiver)) == EPass) sl@0: { sl@0: TInt result = receiver.ReceiveIPData(*this); sl@0: if (result != KErrNotSupported) sl@0: { sl@0: INFO_PRINTF2(_L("RDvbhReceiver::ReceiveIPData returned %d"), result); sl@0: verdict = EFail; sl@0: } sl@0: receiver.Close(); sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: TVerdict RDvbhHaiTest::DoUpdateNetworkTimeAfterOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: if ((verdict = OpenReceiver(receiver)) == EPass) sl@0: { sl@0: TRequestStatus status; sl@0: TInt result = receiver.UpdateNetworkTime(status); sl@0: if (result != KErrNotSupported) sl@0: { sl@0: INFO_PRINTF2(_L("RDvbhReceiver::UpdateNetworkTime returned %d"), result); sl@0: verdict = EFail; sl@0: } sl@0: receiver.Close(); sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: TVerdict RDvbhHaiTest::DoCustomAsyncAfterOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: sl@0: if ((verdict = OpenReceiver(receiver)) == EPass) sl@0: { sl@0: TBuf8<32> output; sl@0: output = KDvbhTestCustomCommandOutput; sl@0: TRequestStatus status; sl@0: TInt result = receiver.CustomCommand(KDvbhTestCustomCommand, KDvbhTestCustomCommandInput, output, status); sl@0: if (result != KErrNotSupported) sl@0: { sl@0: INFO_PRINTF2(_L("RDvbhReceiver::CustomCommand returned %d"), result); sl@0: verdict = EFail; sl@0: } sl@0: else sl@0: { sl@0: if (output.Compare(KDvbhTestCustomCommandOutput) != 0) // Compare returns 0 if they are the same sl@0: { sl@0: INFO_PRINTF1(_L("RDvbhReceiver::CustomCommand modified its arguments.")); sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: receiver.Close(); sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: TVerdict RDvbhHaiTest::DoCancelCustomAsyncAfterOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: if ((verdict = OpenReceiver(receiver)) == EPass) sl@0: { sl@0: TRequestStatus status; sl@0: receiver.CancelCustomCommand(status); sl@0: receiver.Close(); sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: TVerdict RDvbhHaiTest::DoCustomAfterOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: if ((verdict = OpenReceiver(receiver)) == EPass) sl@0: { sl@0: TInt result = receiver.CustomCommand(KDvbhTestCustomCommand, KDvbhTestCustomCommandInput); sl@0: if (result != KErrNotSupported) sl@0: { sl@0: INFO_PRINTF2(_L("RDvbhReceiver::CustomCommand returned %d"), result); sl@0: verdict = EFail; sl@0: } sl@0: receiver.Close(); sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: TVerdict RDvbhHaiTest::DoPowerOffAfterOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: if ((verdict = OpenReceiver(receiver)) == EPass) sl@0: { sl@0: TRequestStatus status; sl@0: receiver.PowerOff(status); sl@0: //User::WaitForRequest(status); sl@0: receiver.Close(); sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: TVerdict RDvbhHaiTest::DoSetDisabledAfterOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: if ((verdict = OpenReceiver(receiver)) == EPass) sl@0: { sl@0: TRequestStatus status; sl@0: receiver.SetDisabled(ETrue, status); sl@0: //User::WaitForRequest(status); sl@0: receiver.Close(); sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: TVerdict RDvbhHaiTest::DoCancelScanAfterOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: if ((verdict = OpenReceiver(receiver)) == EPass) sl@0: { sl@0: receiver.CancelScan(); sl@0: receiver.Close(); sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: TVerdict RDvbhHaiTest::DoCancelSetPlatformAfterOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: if ((verdict = OpenReceiver(receiver)) == EPass) sl@0: { sl@0: receiver.CancelSetPlatform(); sl@0: receiver.Close(); sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: TVerdict RDvbhHaiTest::DoCancelReceiveIpDataAfterOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: if ((verdict = OpenReceiver(receiver)) == EPass) sl@0: { sl@0: receiver.CancelReceiveIPData(); sl@0: receiver.Close(); sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: TVerdict RDvbhHaiTest::DoCancelUpdateNetworkTimeAfterOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: if ((verdict = OpenReceiver(receiver)) == EPass) sl@0: { sl@0: receiver.CancelUpdateNetworkTime(); sl@0: receiver.Close(); sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: // sl@0: // sl@0: // CDvbhReceiverInfo Positive Tests sl@0: // sl@0: // sl@0: sl@0: // 101 & 102 sl@0: TVerdict RDvbhHaiTest::DoCreateReceiverInfoTestStep() sl@0: { sl@0: TVerdict verdict = EPass; sl@0: __MM_HEAP_MARK; sl@0: delete iRxInfo; sl@0: iRxInfo = NULL; sl@0: TRAPD(result, iRxInfo = CDvbhReceiverInfo::NewL()) sl@0: if (result != KErrNone) sl@0: { sl@0: INFO_PRINTF2(_L("Error %d creating CDvbhReceiverInfo"), result); sl@0: verdict = EFail; sl@0: } sl@0: delete iRxInfo; sl@0: iRxInfo = NULL; sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: // 103 sl@0: TVerdict RDvbhHaiTest::DoGetStateTestStep() sl@0: { sl@0: TVerdict verdict = EPass; sl@0: __MM_HEAP_MARK; sl@0: //First set the state to a known value (expectedState) so that we know sl@0: //what we are trying to Get. sl@0: const TInt expectedState = EDvbhStateInactive; sl@0: if (iTestUtils->SetStateProperty(expectedState) != KErrNone) sl@0: { sl@0: verdict = EInconclusive; sl@0: } sl@0: else sl@0: { sl@0: TDvbhState state = EDvbhStateNoHardware; sl@0: TInt result = iRxInfo->GetState(state); sl@0: if (result != KErrNone) sl@0: { sl@0: INFO_PRINTF2(_L("Error %d getting state"), result); sl@0: verdict = EFail; sl@0: } sl@0: else sl@0: { sl@0: if (state != expectedState) sl@0: { sl@0: INFO_PRINTF2(_L("Got unexpected state %d"), state); sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: } sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: // 104 sl@0: TVerdict RDvbhHaiTest::DoGetSignalQualityTestStep() sl@0: { sl@0: TVerdict verdict = EPass; sl@0: __MM_HEAP_MARK; sl@0: //First set the signal quality to a known value (expectedQuality) so that we know sl@0: //what we are trying to Get. sl@0: const TInt expectedQuality = EDvbhSignalQualityFair; sl@0: TInt result = iTestUtils->SetIntegerProperty(EDvbhPropertyKeySignalQuality, expectedQuality); sl@0: if (result != KErrNone) sl@0: { sl@0: INFO_PRINTF3(_L("Error %d setting signal quality property to %d"), result, expectedQuality); sl@0: verdict = EInconclusive; sl@0: } sl@0: else sl@0: { sl@0: TDvbhSignalQuality quality = EDvbhSignalQualityNoSignal; sl@0: result = iRxInfo->GetSignalQuality(quality); sl@0: if (result != KErrNone) sl@0: { sl@0: INFO_PRINTF2(_L("Error %d getting signal quality"), result); sl@0: verdict = EFail; sl@0: } sl@0: else sl@0: { sl@0: if (quality != expectedQuality) sl@0: { sl@0: INFO_PRINTF2(_L("Got unexpected quality %d"), quality); sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: } sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: // 105 sl@0: TVerdict RDvbhHaiTest::DoGetPlatformTestStep() sl@0: { sl@0: TVerdict verdict = EPass; sl@0: __MM_HEAP_MARK; sl@0: //First set the platform property to a known value (iDvbhTestPlatform) so that we know sl@0: //what we are trying to Get. sl@0: TPckg platformPckg(iDvbhTestPlatform); sl@0: TInt result = iTestUtils->SetByteArrayProperty(EDvbhPropertyKeyPlatform, platformPckg); sl@0: if (result != KErrNone) sl@0: { sl@0: INFO_PRINTF2(_L("Error %d setting platform property."), result); sl@0: verdict = EInconclusive; sl@0: } sl@0: else sl@0: { sl@0: TDvbhPlatform platform; sl@0: TIp6Addr esgRoot; sl@0: result = iRxInfo->GetPlatform(platform, esgRoot); sl@0: if (result != KErrNone) sl@0: { sl@0: INFO_PRINTF2(_L("Error %d getting platform."), result); sl@0: verdict = EFail; sl@0: } sl@0: else sl@0: { sl@0: if (!CDvbhTestUtil::ComparePlatforms(platform, iDvbhTestPlatform.iPlatform)) sl@0: { sl@0: INFO_PRINTF1(_L("Got unexpected platform.")); sl@0: verdict = EFail; sl@0: } sl@0: if (!esgRoot.IsEqual(iDvbhTestPlatform.iEsgRoot)) sl@0: { sl@0: INFO_PRINTF1(_L("Got unexpected esgRoot.")); sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: } sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: //Helper for test 106 sl@0: TVerdict RDvbhHaiTest::DoGetNetworkTime(TBool aExpectedValidity) sl@0: { sl@0: TVerdict verdict = EPass; sl@0: sl@0: //Expected result is based on whether or not the platformId in the network time we sl@0: //set is valid. sl@0: TInt expectedResult = KErrNone; sl@0: if (iDvbhTestNetworkTime.iPlatformId == KDvbhInvalidPlatform) sl@0: { sl@0: expectedResult = KErrNotReady; sl@0: } sl@0: sl@0: //Set the time to a known value (iDvbhTestNetworkTime) so that we know sl@0: //what we are trying to Get. sl@0: TPckg timePckg(iDvbhTestNetworkTime); sl@0: TInt result = iTestUtils->SetByteArrayProperty(EDvbhPropertyKeyNetworkTime, timePckg); sl@0: if (result != KErrNone) sl@0: { sl@0: INFO_PRINTF2(_L("Error %d setting network time property."), result); sl@0: verdict = EInconclusive; sl@0: } sl@0: else sl@0: { sl@0: TTime initialTime(TInt64(0)); sl@0: TTime time = initialTime; sl@0: TBool valid = EFalse; sl@0: result = iRxInfo->GetNetworkTime(time, valid); sl@0: if (result != expectedResult) sl@0: { sl@0: INFO_PRINTF2(_L("Unexptected result %d getting network time."), result); sl@0: verdict = EFail; sl@0: } sl@0: else sl@0: { sl@0: if (result == KErrNone) sl@0: { sl@0: //Check if what we got was as expected sl@0: if (time != iDvbhTestNetworkTime.iNetworkTime || (valid != aExpectedValidity)) sl@0: { sl@0: INFO_PRINTF1(_L("Got unexpected network time or validity.")); sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: else sl@0: { sl@0: //Check that the arguments weren't updated sl@0: if (time != initialTime || (valid != EFalse)) sl@0: { sl@0: INFO_PRINTF1(_L("GetNetworkTime modified its args on failure.")); sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: } sl@0: } sl@0: return verdict; sl@0: } sl@0: sl@0: // 106 sl@0: TVerdict RDvbhHaiTest::DoGetNetworkTimeTestStep() sl@0: { sl@0: TVerdict verdict = EPass; sl@0: __MM_HEAP_MARK; sl@0: sl@0: //The 1st two tests are positive tests, so we do not want to get KErrNotReady sl@0: //so we leave iDvbhTestNetworkTime.iPlatformId != KDvbhInvalidPlatform sl@0: //(which is how it is set by default). sl@0: sl@0: //Test one: Set state to Receiving or Ready so that we expect a valid network time sl@0: TDvbhState state = EDvbhStateReady; sl@0: TInt result = iTestUtils->SetStateProperty(state); sl@0: if (result != KErrNone) sl@0: { sl@0: verdict = EInconclusive; sl@0: } sl@0: else sl@0: { sl@0: verdict = DoGetNetworkTime((state == EDvbhStateReady) || (state == EDvbhStateReceiving)); sl@0: } sl@0: sl@0: if (verdict != EPass) sl@0: { sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: //Test two: Set state to something other than Ready or Receiving so we expect sl@0: //and invalid network time sl@0: state = EDvbhStateScanning; sl@0: result = iTestUtils->SetStateProperty(state); sl@0: if (result != KErrNone) sl@0: { sl@0: verdict = EInconclusive; sl@0: } sl@0: else sl@0: { sl@0: verdict = DoGetNetworkTime((state == EDvbhStateReady) || (state == EDvbhStateReceiving)); sl@0: } sl@0: sl@0: if (verdict != EPass) sl@0: { sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: //Test three: Set iDvbhTestNetworkTime.iPlatformId = KDvbhInvalidPlatform sl@0: //which indicates the receiver is not ready to give network time, regardless sl@0: //of the state it is in. Will result in KErrNotReady being returned from sl@0: //CDvbhReceiverInfo::GetNetworkTime() sl@0: iDvbhTestNetworkTime.iPlatformId = KDvbhInvalidPlatform; sl@0: verdict = DoGetNetworkTime((state == EDvbhStateReady) || (state == EDvbhStateReceiving)); sl@0: sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: // 107 sl@0: TVerdict RDvbhHaiTest::DoGetPerformanceDataTestStep() sl@0: { sl@0: TVerdict verdict = EPass; sl@0: __MM_HEAP_MARK; sl@0: //First set the data to a known value (expectedData) so that we know sl@0: //what we are trying to Get. sl@0: TPckg dataPckg(iDvbhTestPerformanceData); sl@0: TInt result = iTestUtils->SetByteArrayProperty(EDvbhPropertyKeyPerformanceData, dataPckg); sl@0: if (result != KErrNone) sl@0: { sl@0: INFO_PRINTF2(_L("Error %d setting performance data property."), result); sl@0: verdict = EInconclusive; sl@0: } sl@0: else sl@0: { sl@0: TDvbhPerformanceData data; //Is initialised to 0s by constructor. sl@0: result = iRxInfo->GetPerformanceData(data); sl@0: if (result != KErrNone) sl@0: { sl@0: INFO_PRINTF2(_L("Error %d getting performance data."), result); sl@0: verdict = EFail; sl@0: } sl@0: else sl@0: { sl@0: if (!CDvbhTestUtil::ComparePerformanceDatas(data, iDvbhTestPerformanceData)) sl@0: { sl@0: INFO_PRINTF1(_L("Got unexpected performance data.")); sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: } sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: // 108 sl@0: TVerdict RDvbhHaiTest::DoGetFrequencyTestStep() sl@0: { sl@0: TVerdict verdict = EPass; sl@0: __MM_HEAP_MARK; sl@0: //First set the data to a known value (expectedFrequency) so that we know sl@0: //what we are trying to Get. sl@0: const TDvbhFrequency expectedFrequency = 150000; sl@0: TInt result = iTestUtils->SetIntegerProperty(EDvbhPropertyKeyFrequency, expectedFrequency); sl@0: if (result != KErrNone) sl@0: { sl@0: INFO_PRINTF2(_L("Error %d setting frequency property."), result); sl@0: verdict = EInconclusive; sl@0: } sl@0: else sl@0: { sl@0: TDvbhFrequency frequency = 0; sl@0: result = iRxInfo->GetFrequency(frequency); sl@0: if (result != KErrNone) sl@0: { sl@0: INFO_PRINTF2(_L("Error %d getting frequency."), result); sl@0: verdict = EFail; sl@0: } sl@0: else sl@0: { sl@0: if (frequency != expectedFrequency) sl@0: { sl@0: INFO_PRINTF2(_L("Got unexpected frequency %d."), frequency); sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: } sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: // 109 sl@0: TVerdict RDvbhHaiTest::DoGetCellIdTestStep() sl@0: { sl@0: TVerdict verdict = EPass; sl@0: __MM_HEAP_MARK; sl@0: //First set the data to a known value (expectedId) so that we know sl@0: //what we are trying to Get. sl@0: const TDvbhCellId expectedId = 1001; sl@0: TInt result = iTestUtils->SetIntegerProperty(EDvbhPropertyKeyCellId , expectedId); sl@0: if (result != KErrNone) sl@0: { sl@0: INFO_PRINTF2(_L("Error %d setting cellId property."), result); sl@0: verdict = EInconclusive; sl@0: } sl@0: else sl@0: { sl@0: TDvbhCellId id = 0; sl@0: result = iRxInfo->GetCellId(id); sl@0: if (result != KErrNone) sl@0: { sl@0: INFO_PRINTF2(_L("Error %d getting cellId."), result); sl@0: verdict = EFail; sl@0: } sl@0: else sl@0: { sl@0: if (id != expectedId) sl@0: { sl@0: INFO_PRINTF2(_L("Got unexpected cellId %d."), id); sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: } sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: // 110 sl@0: TVerdict RDvbhHaiTest::DoGetNetworkIdTestStep() sl@0: { sl@0: TVerdict verdict = EPass; sl@0: __MM_HEAP_MARK; sl@0: //First set the data to a known value (expectedId) so that we know sl@0: //what we are trying to Get. sl@0: const TDvbhNetworkId expectedId = 9876; sl@0: TInt result = iTestUtils->SetIntegerProperty(EDvbhPropertyKeyNetworkId , expectedId); sl@0: if (result != KErrNone) sl@0: { sl@0: INFO_PRINTF2(_L("Error %d setting networkId property."), result); sl@0: verdict = EInconclusive; sl@0: } sl@0: else sl@0: { sl@0: TDvbhNetworkId id = 0; sl@0: result = iRxInfo->GetNetworkId(id); sl@0: if (result != KErrNone) sl@0: { sl@0: INFO_PRINTF2(_L("Error %d getting networkId."), result); sl@0: verdict = EFail; sl@0: } sl@0: else sl@0: { sl@0: if (id != expectedId) sl@0: { sl@0: INFO_PRINTF2(_L("Got unexpected networkId %d."), id); sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: } sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: // sl@0: // sl@0: // RDvbhReceiver negative tests sl@0: // sl@0: // sl@0: sl@0: //202 sl@0: TVerdict RDvbhHaiTest::DoPowerOnBeforeOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: TRequestStatus status; sl@0: TInt result = receiver.PowerOn(status); sl@0: if (result != KErrNotReady) sl@0: { sl@0: INFO_PRINTF2(_L("RDvbhReceiver::PowerOn returned %d"), result); sl@0: verdict = EFail; sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: //203 sl@0: TVerdict RDvbhHaiTest::DoSetScanConfigurationBeforeOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: TInt result = receiver.SetScanConfiguration(iDvbhTestScanConfiguration); sl@0: if (result != KErrNotReady) sl@0: { sl@0: INFO_PRINTF2(_L("RDvbhReceiver::SetScanConfiguration returned %d"), result); sl@0: verdict = EFail; sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: //204 sl@0: TVerdict RDvbhHaiTest::DoGetScanConfigurationBeforeOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: TDvbhScanConfiguration config; sl@0: config.iScanStartFrequency = iDvbhTestScanConfiguration.iScanStartFrequency; sl@0: config.iScanEndFrequency = iDvbhTestScanConfiguration.iScanEndFrequency; sl@0: config.iSignalBandwidth = iDvbhTestScanConfiguration.iSignalBandwidth; sl@0: config.iScanOptions = iDvbhTestScanConfiguration.iScanOptions; sl@0: sl@0: TInt result = receiver.GetScanConfiguration(config); sl@0: if (result != KErrNotReady) sl@0: { sl@0: INFO_PRINTF2(_L("RDvbhReceiver::GetScanConfiguration returned %d"), result); sl@0: verdict = EFail; sl@0: } sl@0: else sl@0: { sl@0: if (!iTestUtils->CompareScanConfigurations(iDvbhTestScanConfiguration, config)) sl@0: { sl@0: INFO_PRINTF1(_L("RDvbhReceiver::GetScanConfiguration modified its arg on failure.")); sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: //205 sl@0: TVerdict RDvbhHaiTest::DoGetDvbhVersionBeforeOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: TVersion version = iDvbhTestDriverVersion; sl@0: sl@0: TInt result = receiver.GetDvbhVersion(version); sl@0: if (result != KErrNotReady) sl@0: { sl@0: INFO_PRINTF2(_L("RDvbhReceiver::GetDvbhVersion returned %d"), result); sl@0: verdict = EFail; sl@0: } sl@0: else sl@0: { sl@0: if (!iTestUtils->CompareVersions(version, iDvbhTestDriverVersion)) sl@0: { sl@0: INFO_PRINTF1(_L("RDvbhReceiver::GetDvbhVersion modified its arg on failure.")); sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: //206 sl@0: TVerdict RDvbhHaiTest::DoGetHardwareInfoBeforeOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: TDvbhHardwareInfo info = iDvbhTestHardwareInfo; sl@0: sl@0: TInt result = receiver.GetHardwareInfo(info); sl@0: if (result != KErrNotReady) sl@0: { sl@0: INFO_PRINTF2(_L("RDvbhReceiver::GetHardwareInfo returned %d"), result); sl@0: verdict = EFail; sl@0: } sl@0: else sl@0: { sl@0: if (info.Compare(iDvbhTestHardwareInfo) != 0) // Compare returns 0 if they are the same sl@0: { sl@0: INFO_PRINTF1(_L("RDvbhReceiver::GetHardwareInfo modified its arg on failure.")); sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: //207 sl@0: TVerdict RDvbhHaiTest::DoScanBeforeOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: TRequestStatus status; sl@0: TInt result = receiver.Scan(*this, status); sl@0: if (result != KErrNotReady) sl@0: { sl@0: INFO_PRINTF2(_L("RDvbhReceiver::Scan returned %d"), result); sl@0: verdict = EFail; sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: //208 sl@0: TVerdict RDvbhHaiTest::DoSetPlatformBeforeOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: TRequestStatus status; sl@0: TInt result = receiver.SetPlatform(iDvbhTestNetwork, iDvbhTestPlatform.iPlatform, status); sl@0: if (result != KErrNotReady) sl@0: { sl@0: INFO_PRINTF2(_L("RDvbhReceiver::SetPlatform returned %d"), result); sl@0: verdict = EFail; sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: //209 sl@0: TVerdict RDvbhHaiTest::DoCreateFilterBeforeOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: TInt filterId = 100; sl@0: TInt origFilterId = filterId; sl@0: TRequestStatus status; sl@0: TInt result = receiver.CreateFilter(KDvbhTestIpV6Addr, filterId, status); sl@0: if (result != KErrNotReady) sl@0: { sl@0: INFO_PRINTF2(_L("RDvbhReceiver::CreateFilter returned %d"), result); sl@0: verdict = EFail; sl@0: } sl@0: else sl@0: { sl@0: if (filterId != origFilterId) sl@0: { sl@0: INFO_PRINTF1(_L("RDvbhReceiver::CreateFilter modified its arg on failure.")); sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: //210 sl@0: TVerdict RDvbhHaiTest::DoCancelFilterBeforeOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: TInt filterId = 7; sl@0: TInt result = receiver.CancelFilter(filterId); sl@0: if (result != KErrNotReady) sl@0: { sl@0: INFO_PRINTF2(_L("RDvbhReceiver::CancelFilter returned %d"), result); sl@0: verdict = EFail; sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: //211 sl@0: TVerdict RDvbhHaiTest::DoReceiveIpDataBeforeOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: TInt result = receiver.ReceiveIPData(*this); sl@0: if (result != KErrNotReady) sl@0: { sl@0: INFO_PRINTF2(_L("RDvbhReceiver::ReceiveIPData returned %d"), result); sl@0: verdict = EFail; sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: //212 sl@0: TVerdict RDvbhHaiTest::DoUpdateNetworkTimeBeforeOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: TRequestStatus status; sl@0: TInt result = receiver.UpdateNetworkTime(status); sl@0: if (result != KErrNotReady) sl@0: { sl@0: INFO_PRINTF2(_L("RDvbhReceiver::UpdateNetworkTime returned %d"), result); sl@0: verdict = EFail; sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: //213 sl@0: TVerdict RDvbhHaiTest::DoCustomAsyncBeforeOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: TBuf8<32> output = _L8("Output"); sl@0: TBuf8<32> origOutput = output; sl@0: TRequestStatus status; sl@0: TInt result = receiver.CustomCommand(KDvbhTestCustomCommand, KDvbhTestCustomCommandInput, output, status); sl@0: if (result != KErrNotReady) sl@0: { sl@0: INFO_PRINTF2(_L("RDvbhReceiver::CustomCommand returned %d"), result); sl@0: verdict = EFail; sl@0: } sl@0: else sl@0: { sl@0: if (output.Compare(origOutput) != 0) //Compare returns 0 if they are the same sl@0: { sl@0: INFO_PRINTF1(_L("RDvbhReceiver::CustomCommand modified its arg on failure.")); sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: //214 sl@0: TVerdict RDvbhHaiTest::DoCancelCustomAsyncBeforeOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: TRequestStatus status; sl@0: receiver.CancelCustomCommand(status); sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: //215 sl@0: TVerdict RDvbhHaiTest::DoCustomBeforeOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: TInt result = receiver.CustomCommand(KDvbhTestCustomCommand, KDvbhTestCustomCommandInput); sl@0: if (result != KErrNotReady) sl@0: { sl@0: INFO_PRINTF2(_L("RDvbhReceiver::CustomCommand returned %d"), result); sl@0: verdict = EFail; sl@0: } sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: //216 sl@0: TVerdict RDvbhHaiTest::DoCloseBeforeOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: receiver.Close(); sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: //217 sl@0: TVerdict RDvbhHaiTest::DoPowerOffBeforeOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: TRequestStatus status; sl@0: receiver.PowerOff(status); sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: //218 sl@0: TVerdict RDvbhHaiTest::DoSetDisabledBeforeOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: TRequestStatus status; sl@0: receiver.SetDisabled(ETrue, status); sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: //219 sl@0: TVerdict RDvbhHaiTest::DoCancelScanBeforeOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: receiver.CancelScan(); sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: //220 sl@0: TVerdict RDvbhHaiTest::DoCancelSetPlatformBeforeOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: receiver.CancelSetPlatform(); sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: //221 sl@0: TVerdict RDvbhHaiTest::DoCancelReceiveIpDataBeforeOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: receiver.CancelReceiveIPData(); sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: //222 sl@0: TVerdict RDvbhHaiTest::DoCancelUpdateNetworkTimeBeforeOpenTestStep() sl@0: { sl@0: __MM_HEAP_MARK; sl@0: TVerdict verdict = EPass; sl@0: { sl@0: RDvbhReceiver receiver; sl@0: receiver.CancelUpdateNetworkTime(); sl@0: } //end of receiver's scope sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: sl@0: // 301 sl@0: TVerdict RDvbhHaiTest::DoGetStateNoPropertiesTestStep() sl@0: { sl@0: TVerdict verdict = EPass; sl@0: __MM_HEAP_MARK; sl@0: TDvbhState state = EDvbhStateReady; sl@0: TInt result = iRxInfo->GetState(state); sl@0: if (result != KErrNotFound) sl@0: { sl@0: INFO_PRINTF2(_L("Got error %d getting state but expected KErrNotFound"), result); sl@0: verdict = EFail; sl@0: } sl@0: else sl@0: { sl@0: if (state != EDvbhStateReady) sl@0: { sl@0: INFO_PRINTF1(_L("RDvbhReceiverInfo::GetState modified its arg on failure.")); sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: //302 sl@0: TVerdict RDvbhHaiTest::DoGetSignalQualityNoPropertiesTestStep() sl@0: { sl@0: TVerdict verdict = EPass; sl@0: __MM_HEAP_MARK; sl@0: TDvbhSignalQuality quality = EDvbhSignalQualityVeryGood; sl@0: TInt result = iRxInfo->GetSignalQuality(quality); sl@0: if (result != KErrNotFound) sl@0: { sl@0: INFO_PRINTF2(_L("Got error %d getting signal quality but expected KErrNotFound"), result); sl@0: verdict = EFail; sl@0: } sl@0: else sl@0: { sl@0: if (quality != EDvbhSignalQualityVeryGood) sl@0: { sl@0: INFO_PRINTF1(_L("RDvbhReceiverInfo::GetSignalQuality modified its arg on failure.")); sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: //303 sl@0: TVerdict RDvbhHaiTest::DoGetPlatformNoPropertiesTestStep() sl@0: { sl@0: TVerdict verdict = EPass; sl@0: __MM_HEAP_MARK; sl@0: TDvbhPlatform platform; sl@0: platform.iId = iDvbhTestPlatform.iPlatform.iId; sl@0: platform.iName = iDvbhTestPlatform.iPlatform.iName; sl@0: sl@0: TIp6Addr esgRoot = iDvbhTestPlatform.iEsgRoot; sl@0: sl@0: TInt result = iRxInfo->GetPlatform(platform, esgRoot); sl@0: if (result != KErrNotFound) sl@0: { sl@0: INFO_PRINTF2(_L("Got error %d getting platform but expected KErrNotFound"), result); sl@0: verdict = EFail; sl@0: } sl@0: else sl@0: { sl@0: if (!CDvbhTestUtil::ComparePlatforms(platform, iDvbhTestPlatform.iPlatform) || sl@0: !esgRoot.IsEqual(iDvbhTestPlatform.iEsgRoot) ) sl@0: { sl@0: INFO_PRINTF1(_L("RDvbhReceiverInfo::GetPlatform modified its arg on failure.")); sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: //304 sl@0: TVerdict RDvbhHaiTest::DoGetNetworkTimeNoPropertiesTestStep() sl@0: { sl@0: TVerdict verdict = EPass; sl@0: __MM_HEAP_MARK; sl@0: TTime time = iDvbhTestTime; sl@0: TBool valid = ETrue; sl@0: sl@0: TInt result = iRxInfo->GetNetworkTime(time, valid); sl@0: if (result != KErrNotFound) sl@0: { sl@0: INFO_PRINTF2(_L("Got error %d getting network time but expected KErrNotFound"), result); sl@0: verdict = EFail; sl@0: } sl@0: else sl@0: { sl@0: if (time != iDvbhTestTime || !valid ) sl@0: { sl@0: INFO_PRINTF1(_L("RDvbhReceiverInfo::GetNetworkTime modified its arg on failure.")); sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: //305 sl@0: TVerdict RDvbhHaiTest::DoGetPerformanceDataNoPropertiesTestStep() sl@0: { sl@0: TVerdict verdict = EPass; sl@0: __MM_HEAP_MARK; sl@0: TDvbhPerformanceData data; sl@0: data.iFilterCount = iDvbhTestPerformanceData.iFilterCount; sl@0: data.iMaxFilters = iDvbhTestPerformanceData. iMaxFilters; sl@0: data.iDataCount = iDvbhTestPerformanceData.iDataCount; sl@0: data.iWriteCount = iDvbhTestPerformanceData.iWriteCount; sl@0: data.iWriteCommandCount = iDvbhTestPerformanceData.iWriteCommandCount; sl@0: data.iReadCount = iDvbhTestPerformanceData.iReadCount; sl@0: data.iReadCommandCount = iDvbhTestPerformanceData.iReadCommandCount; sl@0: sl@0: TInt result = iRxInfo->GetPerformanceData(data); sl@0: if (result != KErrNotFound) sl@0: { sl@0: INFO_PRINTF2(_L("Got error %d getting performance data but expected KErrNotFound"), result); sl@0: verdict = EFail; sl@0: } sl@0: else sl@0: { sl@0: if (!CDvbhTestUtil::ComparePerformanceDatas(data, iDvbhTestPerformanceData)) sl@0: { sl@0: INFO_PRINTF1(_L("RDvbhReceiverInfo::GetPerformaceData modified its arg on failure.")); sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: //306 sl@0: TVerdict RDvbhHaiTest::DoGetFrequencyNoPropertiesTestStep() sl@0: { sl@0: TVerdict verdict = EPass; sl@0: __MM_HEAP_MARK; sl@0: TDvbhFrequency frequency = KInitialFrequency; sl@0: sl@0: TInt result = iRxInfo->GetFrequency(frequency); sl@0: if (result != KErrNotFound) sl@0: { sl@0: INFO_PRINTF2(_L("Got error %d getting frequency but expected KErrNotFound"), result); sl@0: verdict = EFail; sl@0: } sl@0: else sl@0: { sl@0: if (frequency != KInitialFrequency) sl@0: { sl@0: INFO_PRINTF1(_L("RDvbhReceiverInfo::GetFrequency modified its arg on failure.")); sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: //307 sl@0: TVerdict RDvbhHaiTest::DoGetCellIdNoPropertiesTestStep() sl@0: { sl@0: TVerdict verdict = EPass; sl@0: __MM_HEAP_MARK; sl@0: TDvbhCellId cellId = KInitialCellId; sl@0: sl@0: TInt result = iRxInfo->GetCellId(cellId); sl@0: if (result != KErrNotFound) sl@0: { sl@0: INFO_PRINTF2(_L("Got error %d getting cellId but expected KErrNotFound"), result); sl@0: verdict = EFail; sl@0: } sl@0: else sl@0: { sl@0: if (cellId != KInitialCellId) sl@0: { sl@0: INFO_PRINTF1(_L("RDvbhReceiverInfo::GetCellId modified its arg on failure.")); sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: //308 sl@0: TVerdict RDvbhHaiTest::DoGetNetworkIdNoPropertiesTestStep() sl@0: { sl@0: TVerdict verdict = EPass; sl@0: __MM_HEAP_MARK; sl@0: TDvbhNetworkId networkId = KInitialNetworkId; sl@0: sl@0: TInt result = iRxInfo->GetNetworkId(networkId); sl@0: if (result != KErrNotFound) sl@0: { sl@0: INFO_PRINTF2(_L("Got error %d getting networkId but expected KErrNotFound"), result); sl@0: verdict = EFail; sl@0: } sl@0: else sl@0: { sl@0: if (networkId != KInitialNetworkId) sl@0: { sl@0: INFO_PRINTF1(_L("RDvbhReceiverInfo::GetNetworkId modified its arg on failure.")); sl@0: verdict = EFail; sl@0: } sl@0: } sl@0: __MM_HEAP_MARKEND; sl@0: return verdict; sl@0: } sl@0: sl@0: sl@0: //309 sl@0: /** sl@0: * Test added to improve conditional code coverage. It tries to get all the properties sl@0: * that depend on state when the state property is defined, but no other properties are sl@0: * defined. sl@0: */ sl@0: TVerdict RDvbhHaiTest::DoGetTestsNoProperties() sl@0: { sl@0: TVerdict verdict = EPass; sl@0: sl@0: //Preamble will have defined the state property and set it to EDvbhStateReceiving. So sl@0: //we just have to try to get each (non-defined) property that depends on state. sl@0: sl@0: //CellId sl@0: verdict = DoGetCellIdNoPropertiesTestStep(); sl@0: if (verdict != EPass) sl@0: { sl@0: return verdict; sl@0: } sl@0: sl@0: //Frequency sl@0: verdict = DoGetFrequencyNoPropertiesTestStep(); sl@0: if (verdict != EPass) sl@0: { sl@0: return verdict; sl@0: } sl@0: sl@0: //NetworkId sl@0: verdict = DoGetNetworkIdNoPropertiesTestStep(); sl@0: if (verdict != EPass) sl@0: { sl@0: return verdict; sl@0: } sl@0: sl@0: //Platform sl@0: verdict = DoGetPlatformNoPropertiesTestStep(); sl@0: if (verdict != EPass) sl@0: { sl@0: return verdict; sl@0: } sl@0: sl@0: //Signal Quality sl@0: verdict = DoGetSignalQualityNoPropertiesTestStep(); sl@0: if (verdict != EPass) sl@0: { sl@0: return verdict; sl@0: } sl@0: sl@0: return verdict; sl@0: } sl@0: sl@0: //MDvbhScanObserver sl@0: void RDvbhHaiTest::DvbhScanProgress( const TDvbhScanResult& /*aResult*/ ) sl@0: { sl@0: //Should never be called sl@0: ASSERT(EFalse); sl@0: } sl@0: sl@0: //MDvbhDataObserver sl@0: void RDvbhHaiTest::DvbhPacketReceived( const TDesC8& /*aPacket*/ ) sl@0: { sl@0: //Should never be called sl@0: ASSERT(EFalse); sl@0: } sl@0: