os/graphics/egl/egltest/endpointtestsuite/automated/tsrc/egltest_endpoint_util.cpp
Update contrib.
1 // Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
19 @internalComponent - Internal Symbian test code
22 // A "utility class" that contains a number of static functions that don't
23 // have anywhere else obvious to live.
25 #include "egltest_endpoint_util.h"
26 #include <test/testexecuteserverbase.h>
30 Cut and paste from CTestStep::SetLogger() - which is not exported
31 As the name suggests, this is for use by the egl test process wrapper
33 void TEndpointUtil::SetLoggerForProcessWrapperL(CTestExecuteLogger& aLogger)
35 // Create a cinidata object for parsing the testexecute.ini
36 CTestExecuteIniData* parseTestExecuteIni = NULL;
37 TBuf<KMaxTestExecuteNameLength> resultFilePath;
38 TBuf<KMaxTestExecuteNameLength> xmlFilePath;
42 TRAPD(err,parseTestExecuteIni = CTestExecuteIniData::NewL());
45 CleanupStack::PushL(parseTestExecuteIni);
46 parseTestExecuteIni->ExtractValuesFromIni();
47 parseTestExecuteIni->GetKeyValueFromIni(KTEFHtmlKey, resultFilePath);
48 parseTestExecuteIni->GetKeyValueFromIni(KTEFXmlKey, xmlFilePath);
49 parseTestExecuteIni->GetKeyValueFromIni(KTEFLogMode, logMode);
50 parseTestExecuteIni->GetKeyValueFromIni(KTEFLogSeverityKey, logLevel);
54 resultFilePath.Copy(KTestExecuteLogPath);
55 xmlFilePath.Copy(KTestExecuteLogPath);
56 logMode = TLoggerOptions(ELogHTMLOnly);
57 logLevel = RFileFlogger::TLogSeverity(ESevrAll);
59 aLogger.SetLoggerOptions(logMode);
61 // Initialise a handle to the file logger
62 User::LeaveIfError(aLogger.Connect());
64 User::LeaveIfError(fS.Connect());
65 CleanupClosePushL(fS);
67 TBuf<KMaxTestExecuteNameLength> xmlLogFile(xmlFilePath);
68 TBuf<KMaxTestExecuteNameLength> logFile;
69 TBuf<KMaxTestExecuteNameLength> logFileNameFile(resultFilePath);
70 logFileNameFile.Append(KTestExecuteScheduleTestLogCompatibilityNameFile);
71 if(file.Open(fS,logFileNameFile,EFileRead | EFileShareAny) != KErrNone)
73 User::Panic(_L("Unsupported"), -1);
77 CleanupClosePushL(file);
78 TBuf8<KMaxTestExecuteNameLength> logFile8;
80 User::LeaveIfError(file.Size(fileSize));
81 User::LeaveIfError(file.Read(logFile8,fileSize));
82 logFile.Copy(logFile8);
83 xmlLogFile.Append(logFile);
84 _LIT(KXmlExtension,".xml");
85 xmlLogFile.Append(KXmlExtension);
86 _LIT(KHtmExtension,".htm");
87 logFile.Append(KHtmExtension);
88 CleanupStack::Pop(&file);
91 TBuf<KMaxTestExecuteLogFilePath> logFilePath(resultFilePath);
92 logFilePath.Append(logFile);
93 CleanupStack::Pop(&fS);
96 if (logMode == 0 || logMode == 2)
98 User::LeaveIfError(aLogger.HtmlLogger().CreateLog(logFilePath,RTestExecuteLogServ::ELogModeAppend));
99 aLogger.HtmlLogger().SetLogLevel(TLogSeverity(logLevel));
101 if (logMode == 1 || logMode == 2)
103 User::LeaveIfError(aLogger.XmlLogger().CreateLog(xmlLogFile,RFileFlogger::ELogModeAppend));
104 aLogger.XmlLogger().SetLogLevel(RFileFlogger::TLogSeverity(logLevel));
106 if (parseTestExecuteIni != NULL)
108 CleanupStack::PopAndDestroy(parseTestExecuteIni);