--- a/buildverification/autosmoketest/Utils/Src/TestStepSmokeTest.cpp Fri Jun 11 16:24:17 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,345 +0,0 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// This contains CTestStepSmokeTest
-//
-//
-
-//user include
-#include "TestStepSmokeTest.h"
-
-//Epoc include
-#include <testconfigfileparser.h>
-#include <f32file.h>
-#include <e32std.h>
-
-/*@{*/
-_LIT(KExpectedCapCheckResult, "ExpectedCapCheckResult");
-_LIT(KConfigFile, "C:\\plattest\\platsec\\plattest_capabilities.config");
-_LIT(KDefault, "default");
-_LIT(KCapTest, "CapabilityTest");
-_LIT(KNo, "No");
-
-_LIT(KLogging, "logging");
-_LIT(KLoggingMin, "min");
-_LIT(KLoggingNormal, "normal");
-_LIT(KLoggingMax, "max");
-
-_LIT(KRepetition, "repetition");
-/*@}*/
-
-//
-// Construction/Destruction
-//
-
-/**
- Constructor
-*/
-EXPORT_C CTestStepSmokeTest::CTestStepSmokeTest()
-: CTestStep()
-, iLoggingDetail(ETestLoggingDetail_Normal)
-, iRepetition(1)
- {
- }
-
-/**
- Destructor
-*/
-EXPORT_C CTestStepSmokeTest::~CTestStepSmokeTest()
- {
- }
-
-
-/**
- The overriden implementation of CTestStep::doTestStepPreambleL()
- @return TVerdict- result of the test step
- @leave - system wide error codes
-*/
-EXPORT_C TVerdict CTestStepSmokeTest::doTestStepPreambleL()
- {
- TVerdict ret = CTestStep::doTestStepPreambleL();
-
- // Get logging
- TPtrC logging;
- if ( GetStringFromConfig(ConfigSection(), KLogging, logging) )
- {
- INFO_PRINTF2(_L("Logging value %S"), &logging);
- if ( logging.Compare(KLoggingMin) == 0 )
- {
- iLoggingDetail=ETestLoggingDetail_Min;
- }
- else if ( logging.Compare(KLoggingNormal) == 0 )
- {
- iLoggingDetail=ETestLoggingDetail_Normal;
- }
- else if ( logging.Compare(KLoggingMax) == 0 )
- {
- iLoggingDetail=ETestLoggingDetail_Max;
- }
- else
- {
- ERR_PRINTF1(_L("Illegal logging value, use min, normal or max."));
- ret=EFail;
- }
- }
-
- // Get repetition count of test
- GetIntFromConfig(ConfigSection(), KRepetition, iRepetition);
- INFO_PRINTF2(_L("Repetition %d"), iRepetition);
-
- return ret;
- }
-
-/**
- The overriden implementation of CTestStep::doTestStepPostambleL()
- It implements the functionality of capability checking if
- _PLATTEST_CAPTEST_ is ON.
- @return TVerdict- result of the test step
- @leave - system wide error codes
-*/
-
-EXPORT_C TVerdict CTestStepSmokeTest::doTestStepPostambleL()
- {
-
- //Read whether to do capability testing..
- TPtrC captest(KNo);
- GetStringFromConfig(KDefault, KCapTest, captest);
- if( captest.Compare(_L("YES")) == 0)
- {
- INFO_PRINTF1(_L("---Capability Testing---"));
- //Gets the capabilities config file
- TBuf<KMaxTestExecuteCommandLength> scriptFile;
- scriptFile.Copy(KConfigFile);
- INFO_PRINTF2(_L("The config file %S"), &scriptFile);
-
- TBuf8<KMaxTestExecuteCommandLength> scriptSection;
- scriptSection.Copy(_L("Capabilities"));
-
- TPtrC serverName = GetServerName();
- INFO_PRINTF2(_L("The server name is %S"), &serverName);
- HBufC8 *scriptItem = HBufC8::NewLC(serverName.Length());
- scriptItem->Des().Copy(serverName);
-
- //Get the file server session object
- RFs rFs;
- TInt err=rFs.Connect();
- if(err != KErrNone)
- {
- ERR_PRINTF1(_L("Failed to connect with File server"));
- SetTestStepResult(EFail);
- }
- else
- {
- CleanupClosePushL(rFs);
- //Get the config file
- CTestConfig* configFile = CTestConfig::NewLC(rFs, KNullDesC, scriptFile);
- if( configFile == NULL)
- {
- WARN_PRINTF1(_L("NO Config file found -- Plattest_capabilites.config"));
- }
- else
- {
- //Get the item value from config file
- TBuf8<KMaxTestExecuteCommandLength> itemValue;
- itemValue = configFile->Section(scriptSection)->Item(scriptItem->Des())->Value();
- TLex8 capabilityParser(itemValue);
- TBool capCheckResult= ETrue;
-
- while(!capabilityParser.Eos())
- {
- //Parse the capabilities
- TPtrC8 capability(capabilityParser.NextToken());
-
- HBufC* capabilityRead = HBufC::NewLC(capability.Length());
- capabilityRead->Des().Copy(capability);
- INFO_PRINTF2(_L("Capability Read is %S"), capabilityRead);
-
- //Get the capability value
- TCapability capabilityValue;
- TPtrC ptrCapabilty(capabilityRead->Des());
- TInt err = GetCapability(ptrCapabilty, capabilityValue);
- if( err != KErrNone)
- {
- WARN_PRINTF1(_L("The capability is not found"));
- }
- else
- {
- //Check if the current process posses the required capability
- if( !RProcess().HasCapability(capabilityValue) )
- {
- INFO_PRINTF2(_L("The capability %S is not possesed."), capabilityRead);
- capCheckResult=EFalse;
- }
- else
- {
- INFO_PRINTF2(_L("The capability %S is possesed."), capabilityRead);
- }
- }
- CleanupStack::PopAndDestroy(capabilityRead);
- }
-
- //read the expected capability check result
- TBool expectedCapCheckResult = ETrue;
- GetBoolFromConfig(ConfigSection(), KExpectedCapCheckResult, expectedCapCheckResult);
- INFO_PRINTF2(_L("The expected cap check result is %D"), expectedCapCheckResult);
- INFO_PRINTF2(_L("The cap check result is %D"), capCheckResult);
-
- if(expectedCapCheckResult == capCheckResult)
- {
- SetTestStepResult(EPass);
- }
- else
- {
- SetTestStepResult(EFail);
- }
- }
- CleanupStack::PopAndDestroy(2, &rFs);
- }
- CleanupStack::PopAndDestroy(scriptItem);
- if(TestStepError() == KErrPermissionDenied)
- {
- INFO_PRINTF1(_L(" The failure is due to Platform Security"));
- }
- }
-
- TVerdict ret = CTestStep::doTestStepPostambleL();
- return ret;
- }
-
-/**
- Get the capability id (enum value) for the capability name
- given as string.
- @param aCapability - Capability name
- @param aCapabilityValue - value for the capability name
- @return TInt - error codes
- @leave - None
-*/
-EXPORT_C TInt CTestStepSmokeTest::GetCapability(TPtrC aCapability, TCapability& aCapabilityValue)
- {
- INFO_PRINTF2(_L("The capability get is %S"), &aCapability);
- TInt ret=KErrNone;
-
- TBuf<KMaxTestExecuteCommandLength> capCaseValue(aCapability);
- capCaseValue.LowerCase();
-
- if(!capCaseValue.Compare(_L("tcb" )))
- {
- aCapabilityValue=ECapabilityTCB;
- }
- else if(!capCaseValue.Compare(_L("commdd" )))
- {
- aCapabilityValue=ECapabilityCommDD;
- }
- else if(!capCaseValue.Compare(_L("powermgmt" )))
- {
- aCapabilityValue=ECapabilityPowerMgmt;
- }
- else if(!capCaseValue.Compare(_L("multimediadd" )))
- {
- aCapabilityValue=ECapabilityMultimediaDD;
- }
- else if(!capCaseValue.Compare(_L("readdevicedata" )))
- {
- aCapabilityValue=ECapabilityReadDeviceData;
- }
- else if(!capCaseValue.Compare(_L("writedevicedata" )))
- {
- aCapabilityValue=ECapabilityWriteDeviceData;
- }
- else if(!capCaseValue.Compare(_L("drm" )))
- {
- aCapabilityValue=ECapabilityDRM;
- }
- else if(!capCaseValue.Compare(_L("trustedui" )))
- {
- aCapabilityValue=ECapabilityTrustedUI;
- }
- else if(!capCaseValue.Compare(_L("protserv" )))
- {
- aCapabilityValue=ECapabilityProtServ;
- }
- else if(!capCaseValue.Compare(_L("diskadmin" )))
- {
- aCapabilityValue=ECapabilityDiskAdmin;
- }
- else if(!capCaseValue.Compare(_L("networkcontrol" )))
- {
- aCapabilityValue=ECapabilityNetworkControl;
- }
- else if(!capCaseValue.Compare(_L("allfiles" )))
- {
- aCapabilityValue=ECapabilityAllFiles;
- }
- else if(!capCaseValue.Compare(_L("swevent" )))
- {
- aCapabilityValue=ECapabilitySwEvent;
- }
- else if(!capCaseValue.Compare(_L("networkservices" )))
- {
- aCapabilityValue=ECapabilityNetworkServices;
- }
- else if(!capCaseValue.Compare(_L("localservices" )))
- {
- aCapabilityValue=ECapabilityLocalServices;
- }
- else if(!capCaseValue.Compare(_L("readuserdata" )))
- {
- aCapabilityValue=ECapabilityReadUserData;
- }
- else if(!capCaseValue.Compare(_L("writeuserdata")))
- {
- aCapabilityValue=ECapabilityWriteUserData;
- }
- else if(!capCaseValue.Compare(_L("location")))
- {
- aCapabilityValue=ECapabilityLocation;
- }
- else if(!capCaseValue.Compare(_L("none")))
- {
- aCapabilityValue=ECapability_None;
- }
- else
- {
- INFO_PRINTF2(_L("Unrecognised capability %S, will be rejected"), &capCaseValue);
- ret=KErrNotFound;
- }
-
- return ret;
- }
-
-
-/**
- Verifies the given time is nearly equal to current UTC time.
- @param aTime - Time needs to be verified
- @return TBool - Returns ETrue if aTime is nearly equal to current UTC
- time, otherwise EFalse
- @leave - None
-*/
-EXPORT_C TBool CTestStepSmokeTest::VerifyUTCTime(TTime aTime)
- {
- TTime homeTime;
- TTimeIntervalSeconds utcOffset;
-
- homeTime.HomeTime();
- homeTime.SecondsFrom(aTime, utcOffset);
- INFO_PRINTF2(_L("Calculated utcOffset: %D"), utcOffset.Int());
- if(Abs<TInt>(utcOffset.Int()) <= (User::UTCOffset().Int()+120)
- && Abs<TInt>(utcOffset.Int()) >= (User::UTCOffset().Int()-120))
- {
- return ETrue;
- }
- else
- {
- return EFalse;
- }
- }