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