sl@0: // Copyright (c) 2007-2010 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: @test sl@0: */ sl@0: sl@0: #include "t_wservintegstepsurface.h" sl@0: #include "t_wservconsts.h" sl@0: #include sl@0: sl@0: /** sl@0: CT_WServIntegStepSurface constructor. sl@0: @return N/A sl@0: @pre None sl@0: @post CT_WServIntegStepSurface 1st stage constructor sl@0: */ sl@0: CT_WServIntegStepSurface::CT_WServIntegStepSurface() sl@0: { sl@0: SetTestStepName(KT_WServIntegStepSurface); sl@0: } sl@0: sl@0: /** sl@0: Starts test step sl@0: @internalComponent sl@0: @return TVerdict pass / fail sl@0: @pre N/A sl@0: @post N/A sl@0: */ sl@0: enum TVerdict CT_WServIntegStepSurface::doTestStepL() sl@0: { sl@0: __UHEAP_MARK; sl@0: sl@0: PrintTestStepName(); sl@0: sl@0: GetConfigDataL(KSimLoadData(), KSimLoadDataName()); sl@0: PrintConfigDataL(KSimLoadConfigFile()); sl@0: CreateSimLoadProcL(); sl@0: ClearConfigData(); sl@0: sl@0: // Semaphore created here to maintain compatibility with DSA test use of t_app1 sl@0: RSemaphore dudSemaphore; sl@0: User::LeaveIfError(dudSemaphore.CreateGlobal(KWservDsaSemaphoreName(), 0)); sl@0: sl@0: GetConfigDataL(KTApp1Data(), KTApp1DataName()); sl@0: PrintConfigDataL(KWServTApp1ConfigFile()); sl@0: TInt err = CreateTestProcessL(KWServTApp1, EPriorityForeground); sl@0: TEST(err==KErrNone); sl@0: ClearConfigData(); sl@0: sl@0: GetConfigDataL(KPseudoAppData(), KPseudoAppDataName()); sl@0: PrintConfigDataL(KWServPseudoAppConfigFile()); sl@0: CreatePseudoAppProcL(); sl@0: ClearConfigData(); sl@0: sl@0: /*** sl@0: * Create a second process pseudoapp1.exe similar to pseudoapp.exe to test GCE sl@0: * composing two independent surfaces at different frame rates sl@0: */ sl@0: TBool pseudoApp1=EFalse; sl@0: if ( GetBoolFromConfig(ConfigSection(),KCreatePseudoApp1, pseudoApp1) ) sl@0: { sl@0: if (pseudoApp1) sl@0: { sl@0: GetConfigDataL(KPseudoApp1Data(), KPseudoApp1DataName()); sl@0: PrintConfigDataL(KWServPseudoApp1ConfigFile()); sl@0: err=CreateTestProcessL(KWServPseudoApp1, EPriorityForeground); sl@0: TEST(err==KErrNone); sl@0: ClearConfigData(); sl@0: sl@0: WaitForTestL(KWServPseudoApp1FinishFile()); sl@0: sl@0: // retrieve results from pseudo app1 sl@0: CheckResultsL(KPseudoApp1ResultData(), KPseudoApp1ResultDataName(), KWServPseudoApp1ResultFile()); sl@0: PrintResultsL(KWServPseudoApp1ResultFile()); sl@0: } sl@0: } sl@0: sl@0: WaitForTestL(KWServPseudoAppFinishFile()); sl@0: sl@0: // retrieve results from pseudo app sl@0: CheckResultsL(KPseudoAppResultData(), KPseudoAppResultDataName(), KWServPseudoAppResultFile()); sl@0: PrintResultsL(KWServPseudoAppResultFile()); sl@0: sl@0: dudSemaphore.Close(); sl@0: CleanUp(); sl@0: sl@0: __UHEAP_MARKEND; sl@0: sl@0: return TestStepResult(); sl@0: } sl@0: sl@0: void CT_WServIntegStepSurface::CreateSimLoadProcL() sl@0: { sl@0: TInt simLoadAppErr = KErrNone; sl@0: TInt index = 1; sl@0: TBuf tempStore; sl@0: sl@0: while (simLoadAppErr == KErrNone && index <= KNumSimLoadApps) sl@0: { sl@0: tempStore.Format(KSimLoadApp, index++); sl@0: sl@0: simLoadAppErr = CreateTestProcessL(tempStore, EPriorityHigh); sl@0: } sl@0: } sl@0: sl@0: void CT_WServIntegStepSurface::CreatePseudoAppProcL() sl@0: { sl@0: TInt err; sl@0: err = CreateTestProcessL(KWServPseudoApp, EPriorityForeground); sl@0: TEST(err==KErrNone); sl@0: } sl@0: