diff -r 000000000000 -r dfb7c4ff071f datacommsserver/esockserver/test/util/src/ts_esockutilsteps.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/datacommsserver/esockserver/test/util/src/ts_esockutilsteps.cpp Thu Dec 17 09:22:25 2009 +0200 @@ -0,0 +1,226 @@ +// Copyright (c) 2003-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: +// + +// EPOC includes +#include + +// Test system includes +#include +#include + +// Test includes +#include "ts_esockutilsteps.h" +#include "esockloader.h" +#include "esocktestutils.h" + +class TTruncateOverflow16 : public TDes16Overflow + { +public: + virtual void Overflow(TDes16&) + { + } + }; + +class TTruncateOverflow8 : public TDes8Overflow + { +public: + virtual void Overflow(TDes8&) + { + } + }; + +void CTestStepESockUtil::Log(TRefByValue aFormat, ...) + { + VA_LIST vaList; + VA_START( vaList, aFormat ); + + TTruncateOverflow16 truncateOverflow; + TBuf<512> buf; + buf.AppendFormatList( aFormat, vaList, &truncateOverflow ); + + // write to the console + CTestStep::Log(_L("%S"), &buf); + } + +void CTestStepESockUtil::Log(TRefByValue aFormat, ...) + { + VA_LIST vaList; + VA_START( vaList, aFormat ); + + TTruncateOverflow8 truncateOverflow; + TBuf8<512> buf; + buf.AppendFormatList( aFormat, vaList, &truncateOverflow ); + TBuf<512> dispBuf; + dispBuf.Copy(buf); + + // write to the console + CTestStep::Log(_L("%S"), &dispBuf); + } + +CTestStepLoadESock::CTestStepLoadESock() + { + iTestStepName = _L("ESockUtilLoadESock"); + } + +enum TVerdict CTestStepLoadESock::doTestStepL(void) + { + TVerdict verdict = EPass; + + TInt err(ESockLoader::LoadESock(this)); + if(err!=KErrNone) + { + verdict = EFail; + Log(_L("LoadESock returned error %d"), err); + } + return verdict; + } + +CTestStepUnloadESock::CTestStepUnloadESock() + { + iTestStepName = _L("ESockUtilUnloadESock"); + } + +enum TVerdict CTestStepUnloadESock::doTestStepL(void) + { + TVerdict verdict = EPass; + + TInt err(ESockLoader::UnloadESock(EGraceful, this)); + if(err!=KErrNone) + { + verdict = EFail; + Log(_L("UnloadESock returned error %d"), err); + } + return verdict; + } + +CTestStepUnloadESockBase::CTestStepUnloadESockBase(TLeak aLeak) : + iLeak(aLeak) + { + } + +enum TVerdict CTestStepUnloadESockBase::doTestStepL(void) + { + TVerdict verdict = EPass; + + TInt err(ESockLoader::UnloadESock(EImmediate, this)); + + verdict = EFail; + switch (err) + { + case KErrNone: + { + if (iLeak == ELeaks) + { + INFO_PRINTF1(_L("We were expecting a leak and non occurred : check that the leak-detecion machnism is working.")); + verdict = EFail; + } + else + { + verdict = EPass; + } + break; + } + case KErrSessionClosed: + { + INFO_PRINTF2(_L("UnloadESock returned %d. ESock had still had unclosed sessions when exiting."), err); + break; + } + case ESockLoader::KModuleLeaked: + { + INFO_PRINTF1(_L("A memory leak was detected on shutdown.")); + INFO_PRINTF1(_L("Expect leaks if a panic occurred - Check the epocwind.out.")); + if (iLeak == EMayLeak || iLeak == ELeaks) + { + verdict = EPass; + } +#ifdef ALWAYS_PASS_UNLOAD + verdict = EPass; +#endif + break; + } + default: + { + INFO_PRINTF2(_L("UnloadESock returned error %d"), err); + } + } + return verdict; + } + +CTestStepUnloadESockForced::CTestStepUnloadESockForced() : + CTestStepUnloadESockBase(CTestStepUnloadESockBase::ENoLeak) + { + iTestStepName = _L("ESockUtilUnloadESockForced"); + } + + +CTestStepUnloadESockMayLeak::CTestStepUnloadESockMayLeak() : + CTestStepUnloadESockBase(CTestStepUnloadESockBase::EMayLeak) + { + iTestStepName = _L("ESockUtilUnloadESock_MayLeak"); + } + +CTestStepUnloadESockLeaks::CTestStepUnloadESockLeaks() : + CTestStepUnloadESockBase(CTestStepUnloadESockBase::ELeaks) + { + iTestStepName = _L("ESockUtilUnloadESock_Leaks"); + } + + + + + +CTestStepStopAllInterfaces::CTestStepStopAllInterfaces() + { + iTestStepName = _L("StopAllInterfaces"); + } + +enum TVerdict CTestStepStopAllInterfaces::doTestStepL(void) + { + TVerdict verdict = EPass; + + TBuf<1000> errDesc; + TInt err(ESockTestUtils::StopAllInterfaces(errDesc)); + if(err!=KErrNone) + { + verdict = EFail; + Log(_L("StopAllInterfaces returned error %d:\n%S"), err, &errDesc); + } + return verdict; + } + +CTestStepDefaultToConfig1::CTestStepDefaultToConfig1() + { + iTestStepName = _L("DefaultToConfig1"); + } + +enum TVerdict CTestStepDefaultToConfig1::doTestStepL(void) + { + ESockTestUtils::DefaultToConfig1L(); + return EPass; + } + +CTestStepAlwaysFail::CTestStepAlwaysFail() + { + iTestStepName = _L("AlwaysFail"); + } + +enum TVerdict CTestStepAlwaysFail::doTestStepL(void) + { + return EFail; + } + + + +