sl@0: // Copyright (c) 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: @test sl@0: @internalComponent - Internal Symbian test code sl@0: */ sl@0: sl@0: // A "utility class" that contains a number of static functions that don't sl@0: // have anywhere else obvious to live. sl@0: sl@0: #include "egltest_endpoint_util.h" sl@0: #include sl@0: sl@0: sl@0: /** sl@0: Cut and paste from CTestStep::SetLogger() - which is not exported sl@0: As the name suggests, this is for use by the egl test process wrapper sl@0: */ sl@0: void TEndpointUtil::SetLoggerForProcessWrapperL(CTestExecuteLogger& aLogger) sl@0: { sl@0: // Create a cinidata object for parsing the testexecute.ini sl@0: CTestExecuteIniData* parseTestExecuteIni = NULL; sl@0: TBuf resultFilePath; sl@0: TBuf xmlFilePath; sl@0: TInt logMode; sl@0: TInt logLevel; sl@0: sl@0: TRAPD(err,parseTestExecuteIni = CTestExecuteIniData::NewL()); sl@0: if (err == KErrNone) sl@0: { sl@0: CleanupStack::PushL(parseTestExecuteIni); sl@0: parseTestExecuteIni->ExtractValuesFromIni(); sl@0: parseTestExecuteIni->GetKeyValueFromIni(KTEFHtmlKey, resultFilePath); sl@0: parseTestExecuteIni->GetKeyValueFromIni(KTEFXmlKey, xmlFilePath); sl@0: parseTestExecuteIni->GetKeyValueFromIni(KTEFLogMode, logMode); sl@0: parseTestExecuteIni->GetKeyValueFromIni(KTEFLogSeverityKey, logLevel); sl@0: } sl@0: else sl@0: { sl@0: resultFilePath.Copy(KTestExecuteLogPath); sl@0: xmlFilePath.Copy(KTestExecuteLogPath); sl@0: logMode = TLoggerOptions(ELogHTMLOnly); sl@0: logLevel = RFileFlogger::TLogSeverity(ESevrAll); sl@0: } sl@0: aLogger.SetLoggerOptions(logMode); sl@0: sl@0: // Initialise a handle to the file logger sl@0: User::LeaveIfError(aLogger.Connect()); sl@0: RFs fS; sl@0: User::LeaveIfError(fS.Connect()); sl@0: CleanupClosePushL(fS); sl@0: RFile file; sl@0: TBuf xmlLogFile(xmlFilePath); sl@0: TBuf logFile; sl@0: TBuf logFileNameFile(resultFilePath); sl@0: logFileNameFile.Append(KTestExecuteScheduleTestLogCompatibilityNameFile); sl@0: if(file.Open(fS,logFileNameFile,EFileRead | EFileShareAny) != KErrNone) sl@0: { sl@0: User::Panic(_L("Unsupported"), -1); sl@0: } sl@0: else sl@0: { sl@0: CleanupClosePushL(file); sl@0: TBuf8 logFile8; sl@0: TInt fileSize; sl@0: User::LeaveIfError(file.Size(fileSize)); sl@0: User::LeaveIfError(file.Read(logFile8,fileSize)); sl@0: logFile.Copy(logFile8); sl@0: xmlLogFile.Append(logFile); sl@0: _LIT(KXmlExtension,".xml"); sl@0: xmlLogFile.Append(KXmlExtension); sl@0: _LIT(KHtmExtension,".htm"); sl@0: logFile.Append(KHtmExtension); sl@0: CleanupStack::Pop(&file); sl@0: file.Close(); sl@0: } sl@0: TBuf logFilePath(resultFilePath); sl@0: logFilePath.Append(logFile); sl@0: CleanupStack::Pop(&fS); sl@0: fS.Close(); sl@0: sl@0: if (logMode == 0 || logMode == 2) sl@0: { sl@0: User::LeaveIfError(aLogger.HtmlLogger().CreateLog(logFilePath,RTestExecuteLogServ::ELogModeAppend)); sl@0: aLogger.HtmlLogger().SetLogLevel(TLogSeverity(logLevel)); sl@0: } sl@0: if (logMode == 1 || logMode == 2) sl@0: { sl@0: User::LeaveIfError(aLogger.XmlLogger().CreateLog(xmlLogFile,RFileFlogger::ELogModeAppend)); sl@0: aLogger.XmlLogger().SetLogLevel(RFileFlogger::TLogSeverity(logLevel)); sl@0: } sl@0: if (parseTestExecuteIni != NULL) sl@0: { sl@0: CleanupStack::PopAndDestroy(parseTestExecuteIni); sl@0: } sl@0: }