cryptomgmtlibs/securitytestfw/test/captestframework/captestutility.cpp
changeset 8 35751d3474b7
child 15 da2ae96f639b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cryptomgmtlibs/securitytestfw/test/captestframework/captestutility.cpp	Thu Sep 10 14:01:51 2009 +0300
@@ -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 <captestframework/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, "<font color=FF0000>");
+	_LIT(KColourGreen, "<font color=00AF00>");
+	_LIT(KFontEndColour, "</font>");
+	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();
+	}
+