diff -r 000000000000 -r 3e07fef1e154 testexecfw/symbianunittestfw/sutfw/sutfwcore/sutfwframework/tsrc/src/ut_symbianunittestresult.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/testexecfw/symbianunittestfw/sutfw/sutfwcore/sutfwframework/tsrc/src/ut_symbianunittestresult.cpp Mon Mar 08 15:03:44 2010 +0800 @@ -0,0 +1,255 @@ +/* +* Copyright (c) 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: +* +*/ + +#include "ut_symbianunittestresult.h" +#include "symbianunittestresult.h" +#include "symbianunittestfailure.h" +#include + + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +UT_CSymbianUnitTestResult* UT_CSymbianUnitTestResult::NewL() + { + UT_CSymbianUnitTestResult* self = UT_CSymbianUnitTestResult::NewLC(); + CleanupStack::Pop( self ); + return self; + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +UT_CSymbianUnitTestResult* UT_CSymbianUnitTestResult::NewLC() + { + UT_CSymbianUnitTestResult* self = + new( ELeave )UT_CSymbianUnitTestResult(); + CleanupStack::PushL( self ); + self->ConstructL(); + return self; + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +UT_CSymbianUnitTestResult::UT_CSymbianUnitTestResult() + { + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +void UT_CSymbianUnitTestResult::ConstructL() + { + BASE_CONSTRUCT + ADD_SUT( UT_TestCountL ) + ADD_SUT( UT_StartTestL ) + ADD_SUT( UT_AddFailureL ) + ADD_SUT( UT_AddSetupErrorL ) + ADD_SUT( UT_AddLeaveFromTestL ) + ADD_SUT( UT_AddAssertFailureL ) + ADD_SUT( UT_AddMemoryLeakInfoL ) + ADD_SUT( UT_AddPanicInfoL ) + ADD_SUT( UT_AddTimeOutErrorL ) + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +UT_CSymbianUnitTestResult::~UT_CSymbianUnitTestResult() + { + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +void UT_CSymbianUnitTestResult::SetupL() + { + iUnitTestResult = CSymbianUnitTestResult::NewL(); + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +void UT_CSymbianUnitTestResult::Teardown() + { + delete iUnitTestResult; + iUnitTestResult = NULL; + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +void UT_CSymbianUnitTestResult::UT_TestCountL() + { + // No tests + SUT_ASSERT_EQUALS( 0, iUnitTestResult->TestCount() ) + + // Increment the test count + iUnitTestResult->iTestCount++; + SUT_ASSERT_EQUALS( 1, iUnitTestResult->TestCount() ) + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +void UT_CSymbianUnitTestResult::UT_StartTestL() + { + SUT_ASSERT_EQUALS( KNullDesC, *iUnitTestResult->iCurrentTestName ) + SUT_ASSERT_EQUALS( 0, iUnitTestResult->TestCount() ) + + _LIT( KTestName, "FailedTest" ); + iUnitTestResult->StartTestL( KTestName ); + SUT_ASSERT_EQUALS( KTestName, *iUnitTestResult->iCurrentTestName ) + SUT_ASSERT_EQUALS( 1, iUnitTestResult->TestCount() ) + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +void UT_CSymbianUnitTestResult::UT_AddFailureL() + { + SUT_ASSERT_EQUALS( 0, iUnitTestResult->Failures().Count() ) + + _LIT8( KFailureText, "FailureText" ); + + // Memory allocation failure rate 0 + iUnitTestResult->AddFailureL( KFailureText, 0 ); + SUT_ASSERT_EQUALS( 1, iUnitTestResult->Failures().Count() ) + SUT_ASSERT_EQUALS( + KFailureText, iUnitTestResult->Failures()[ 0 ]->FailureMessage() ) + SUT_ASSERT_EQUALS( + KErrNotFound, iUnitTestResult->Failures()[ 0 ]->LineNumber() ) + SUT_ASSERT_EQUALS( + KNullDesC8, iUnitTestResult->Failures()[ 0 ]->FileName() ) + + // Memory allocation failure rate > 0 + iUnitTestResult->AddFailureL( KFailureText, 1 ); + SUT_ASSERT_EQUALS( 2, iUnitTestResult->Failures().Count() ) + SUT_ASSERT( + iUnitTestResult->Failures()[ 1 ]->FailureMessage() != KFailureText ) + SUT_ASSERT_EQUALS( + KErrNotFound, iUnitTestResult->Failures()[ 1 ]->LineNumber() ) + SUT_ASSERT_EQUALS( + KNullDesC8, iUnitTestResult->Failures()[ 1 ]->FileName() ) + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +void UT_CSymbianUnitTestResult::UT_AddSetupErrorL() + { + SUT_ASSERT_EQUALS( 0, iUnitTestResult->Failures().Count() ) + + const TInt KErrorCode = KErrGeneral; + iUnitTestResult->AddSetupErrorL( KErrorCode ); + SUT_ASSERT_EQUALS( 1, iUnitTestResult->Failures().Count() ) + SUT_ASSERT( + iUnitTestResult->Failures()[ 0 ]->FailureMessage().Length () > 0 ) + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +void UT_CSymbianUnitTestResult::UT_AddLeaveFromTestL() + { + SUT_ASSERT_EQUALS( 0, iUnitTestResult->Failures().Count() ) + + iUnitTestResult->AddLeaveFromTestL( KErrGeneral, 0 ); + SUT_ASSERT_EQUALS( 1, iUnitTestResult->Failures().Count() ) + SUT_ASSERT( + iUnitTestResult->Failures()[ 0 ]->FailureMessage().Length () > 0 ) + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +void UT_CSymbianUnitTestResult::UT_AddAssertFailureL() + { + SUT_ASSERT_EQUALS( 0, iUnitTestResult->Failures().Count() ) + + _LIT8( KFailureMessage, "assert failure" ); + const TInt KLineNumber = 123; + _LIT8( KFileName, "myfilename.cpp" ); + iUnitTestResult->AddAssertFailureL( + KFailureMessage, KLineNumber, KFileName ); + SUT_ASSERT_EQUALS( 1, iUnitTestResult->Failures().Count() ) + SUT_ASSERT_EQUALS( + KFailureMessage, iUnitTestResult->Failures()[ 0 ]->FailureMessage() ) + SUT_ASSERT_EQUALS( + KLineNumber, iUnitTestResult->Failures()[ 0 ]->LineNumber() ) + SUT_ASSERT_EQUALS( + KFileName, iUnitTestResult->Failures()[ 0 ]->FileName() ) + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +void UT_CSymbianUnitTestResult::UT_AddMemoryLeakInfoL() + { + SUT_ASSERT_EQUALS( 0, iUnitTestResult->Failures().Count() ) + + iUnitTestResult->AddMemoryLeakInfoL( 1, 0 ); + SUT_ASSERT_EQUALS( 1, iUnitTestResult->Failures().Count() ) + SUT_ASSERT( + iUnitTestResult->Failures()[ 0 ]->FailureMessage().Length () > 0 ) + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +void UT_CSymbianUnitTestResult::UT_AddPanicInfoL() + { + SUT_ASSERT_EQUALS( 0, iUnitTestResult->Failures().Count() ) + + TExitCategoryName dummy; + iUnitTestResult->AddPanicInfoL( dummy, KErrGeneral, 0 ); + SUT_ASSERT_EQUALS( 1, iUnitTestResult->Failures().Count() ) + SUT_ASSERT( + iUnitTestResult->Failures()[ 0 ]->FailureMessage().Length () > 0 ) + } + +// --------------------------------------------------------------------------- +// +// --------------------------------------------------------------------------- +// +void UT_CSymbianUnitTestResult::UT_AddTimeOutErrorL() + { + SUT_ASSERT_EQUALS( 0, iUnitTestResult->Failures().Count() ) + + const TInt KTimeOut = 10; + iUnitTestResult->AddTimeOutErrorL( KTimeOut ); + SUT_ASSERT_EQUALS( 1, iUnitTestResult->Failures().Count() ) + SUT_ASSERT( + iUnitTestResult->Failures()[ 0 ]->FailureMessage().Length () > 0 ) + } +