diff -r 5d7fec11a5ce -r 03d9ade4748d buildverification/smoketest/Utils/Src/TestStepSmokeTest.cpp --- a/buildverification/smoketest/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 -#include -#include - -/*@{*/ -_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 scriptFile; - scriptFile.Copy(KConfigFile); - INFO_PRINTF2(_L("The config file %S"), &scriptFile); - - TBuf8 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 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 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(utcOffset.Int()) <= (User::UTCOffset().Int()+120) - && Abs(utcOffset.Int()) >= (User::UTCOffset().Int()-120)) - { - return ETrue; - } - else - { - return EFalse; - } - }