diff -r 000000000000 -r bde4ae8d615e os/security/cryptomgmtlibs/securitytestfw/test/captestframework/captestutility.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/os/security/cryptomgmtlibs/securitytestfw/test/captestframework/captestutility.cpp Fri Jun 15 03:10:57 2012 +0200 @@ -0,0 +1,186 @@ +/* +* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "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: +* +*/ + + + + +/** + @file +*/ + +#include "captestutility.h" + +// CDefaultCapabilityTest + +EXPORT_C CDefaultCapabilityTest::~CDefaultCapabilityTest() + { + delete iTestName; + + if (iLogWriteStream) + { + iLogWriteStream->WriteInt32L(EFileEnd); // End marker + iLogWriteStream->Close(); + delete iLogWriteStream; + iLogWriteStream=0; + } + } + +EXPORT_C void CDefaultCapabilityTest::SetNameL(const TDesC& aName) + { + delete iTestName; + iTestName=0; + iTestName=HBufC::NewL(aName.Length()); + TPtr testNamePtr=iTestName->Des(); + testNamePtr.Copy(aName); + } + +EXPORT_C TInt CDefaultCapabilityTest::CheckFailL(TInt aResult, const TDesC& aTestName) + { + _LIT(KColourRed, ""); + _LIT(KColourGreen, ""); + _LIT(KFontEndColour, ""); + TBuf<1024> buf; + + if (iExpectPermissionDenied && aResult==KErrPermissionDenied) + { + buf.Format(_L("%S%S: Permission Denied, Err=%d%S"), &KColourGreen, &aTestName, aResult, &KFontEndColour); + iLogWriteStream->WriteInt32L(ETestPassed); + *iLogWriteStream << buf; + return aResult; + } + else if (!iExpectPermissionDenied && aResult!=KErrPermissionDenied) + { + buf.Format(_L("%S%S: Succeeded, Err=%d%S"), &KColourGreen, &aTestName, aResult, &KFontEndColour); + iLogWriteStream->WriteInt32L(ETestPassed); + *iLogWriteStream << buf; + return aResult; + } + + // Test failed, do something with error. + if (aResult == KErrPermissionDenied) + { + buf.Format(_L("%S%S: Permission denied! (Unexpected), Err=%d%S"), &KColourRed, &aTestName, aResult, &KFontEndColour); + iLogWriteStream->WriteInt32L(ETestFailed); + *iLogWriteStream << buf; + } + else + { + buf.Format(_L("%S%S: Succeeded! (Unexpected), Err=%d%S"), &KColourRed, &aTestName, aResult, &KFontEndColour); + iLogWriteStream->WriteInt32L(ETestFailed); + *iLogWriteStream << buf; + } + + SetFail(); + return aResult; + } + +EXPORT_C void CDefaultCapabilityTest::RunTestL(RFile& aLogFile) + { + // Setup logging + iLogFile=&aLogFile; + + if (iLogWriteStream) + { + iLogWriteStream->Close(); + delete iLogWriteStream; + iLogWriteStream=0; + } + iLogWriteStream=new(ELeave) RFileWriteStream(aLogFile, 0); + + // run tests + RunTestL(); + + if (!iFail) + { + iLogWriteStream->WriteInt32L(ETestsEnded); // Test ended ok + } + } + +EXPORT_C const TDesC& CDefaultCapabilityTest::Name() const + { + if (iTestName) + { + return *iTestName; + } + return KNullDesC; + } + +EXPORT_C const TDesC& CDefaultCapabilityTest::SubName() const + { + if (iTestSubName) + { + return *iTestSubName; + } + return KNullDesC; + } + +EXPORT_C TCapabilitySet CDefaultCapabilityTest::CapabilitiesRequired() const + { + return iCapabilitySet; + } + +EXPORT_C TUid CDefaultCapabilityTest::VidRequired() const + { + return iVidRequired; + } + +EXPORT_C TUid CDefaultCapabilityTest::SidRequired() const + { + return iSidRequired; + } + +EXPORT_C void CDefaultCapabilityTest::SetCapabilityRequired(const TCapability& aCapability) + { + iCapabilitySet.AddCapability(aCapability); + } + +EXPORT_C void CDefaultCapabilityTest::SetSidRequired(const TUid& aSid) + { + iSidRequired=aSid; + } + +EXPORT_C void CDefaultCapabilityTest::SetVidRequired(const TUid& aVid) + { + iVidRequired=aVid; + } + +// CDefaultCapabilityTestFactory +EXPORT_C MCapabilityTest* CDefaultCapabilityTestFactory::Test(TInt aTestNumber) + { + return iTests[aTestNumber]; + } + +EXPORT_C TInt CDefaultCapabilityTestFactory::NumberOfTests() + { + return iTests.Count(); + } + +EXPORT_C void CDefaultCapabilityTestFactory::AddTestL(CDefaultCapabilityTest* aTest) + { + iTests.AppendL(aTest); + } + + +EXPORT_C CDefaultCapabilityTestFactory::~CDefaultCapabilityTestFactory() + { + for (TInt i=0; i< iTests.Count(); ++i) + { + delete iTests[i]; + } + iTests.Reset(); + } +