symbianunittestfw/sutfw/sutfwui/sutfwconsoleui/src/symbianunittestconsoleui.cpp
branchRCL_3
changeset 3 9397a16b6eb8
parent 1 6edeef394eb7
--- a/symbianunittestfw/sutfw/sutfwui/sutfwconsoleui/src/symbianunittestconsoleui.cpp	Fri Sep 03 07:55:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,320 +0,0 @@
-/*
-* 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 <e32debug.h>
-
-#include "symbianunittestconsoleui.h"
-#include "symbianunittestcommandlineparser.h"
-#include "symbianunittestrunner.h"
-#include "symbianunittestversion.h"
-
-_LIT( KTitleTxt, "\n==== SymbianUnit v%d.%d.%d ====\n\n" );
-_LIT( KAllocOnTxt, "  Alloc: ON\n\n" );
-_LIT( KAllocOffTxt, "  Alloc: OFF\n\n" );
-_LIT( KExecutingTestsTxt, "  Executing...\n" );
-_LIT( KTestRunnerFailedTxt, "  Test run failed!\n  Reason: %d\n" );
-_LIT( KNoTestsFoundTxt, "  No tests found!\n" );
-_LIT( KTestsExecutedTxt, "  Executed: %d / %d\n" );
-_LIT( KPassedTestsTxt, "  Passed: %d\n" );
-//_LIT( KFailedTestsTxt, "  Failed: %d\n" );
-_LIT( KFailedTestsTxt2, "  Failed: %S\n" );
-_LIT( KWindowName, "SymbianUnit" );
-_LIT( KSymbianUnitTestPanic, "SymbianUnit creation" );
-_LIT( KPressAnyKeyTxt, "\n==[ press any key ]==\n    " );
-
-_LIT( KHelpTxt, 
-"Allowed arguments:\n\n\
--tests|t=<dll,dll,...>\n\
--cases|c=<case,case,...>\n\
--alloc|a\n\
--background|b\n\
--help|h\n\
--output|o=<html|xml|txt>\n\
--timeout|to\n\
--noprompt\n" );
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-GLDEF_C TInt E32Main() 
-    {
-    //__UHEAP_MARK;
-    CTrapCleanup* cleanup = CTrapCleanup::New();
-    TRAPD( err, MainL() );
-    __ASSERT_ALWAYS( 
-        err == KErrNone, User::Panic( KSymbianUnitTestPanic, err ) );
-    delete cleanup;
-    //__UHEAP_MARKEND;
-//    User::Heap().Reset();
-    return err;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-LOCAL_C void MainL() 
-    {
-    // install an active scheduler
-    CActiveScheduler* scheduler = new( ELeave )CActiveScheduler;
-    CActiveScheduler::Install( scheduler );
-    CleanupStack::PushL( scheduler );
-
-
-    CSymbianUnitTestConsoleUi* main = NULL;
-
-    TRAPD( err, main = CSymbianUnitTestConsoleUi::NewL() );
-    if ( err == KErrNone ) 
-        {
-        CActiveScheduler::Start();
-        }
-    
-    CleanupStack::Pop( scheduler );
-    delete main;
-    delete scheduler;
-    // Do not delete console. It will check for memory leaks.
-    // This is not what is wanted if running tests without 
-    // memory leak detection.
-    //delete console;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CSymbianUnitTestConsoleUi* CSymbianUnitTestConsoleUi::NewLC()
-    {
-    CSymbianUnitTestConsoleUi* self = 
-        new( ELeave )CSymbianUnitTestConsoleUi();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CSymbianUnitTestConsoleUi* CSymbianUnitTestConsoleUi::NewL()
-    {
-    CSymbianUnitTestConsoleUi* self = 
-        CSymbianUnitTestConsoleUi::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CSymbianUnitTestConsoleUi::CSymbianUnitTestConsoleUi()
- : CActive( EPriorityStandard )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CSymbianUnitTestConsoleUi::ConstructL()
-    {
-    User::SetJustInTime( EFalse ); // Do not stop on test case panics
-    iCommandLineParser = CSymbianUnitTestCommandLineParser::NewL();
-    iTestRunner = CSymbianUnitTestRunner::NewL( *this );
-    if( !iCommandLineParser->Background() ) 
-        {
-        TSize size( KConsFullScreen, KConsFullScreen );
-        iConsole = Console::NewL( KWindowName, size );
-        RThread().SetPriority( EPriorityAbsoluteForeground );    
-        }
-    else 
-        {
-        RThread().SetPriority( EPriorityAbsoluteBackground );    
-        }
-
-    CActiveScheduler::Add( this );
-    // Set ready to run immediately
-    TRequestStatus *status = &iStatus;
-    User::RequestComplete( status, KErrNone );
-    SetActive ();
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CSymbianUnitTestConsoleUi::~CSymbianUnitTestConsoleUi()
-    {
-    Cancel();
-    delete iTestRunner;
-    delete iCommandLineParser;
-    delete iConsole;
-    }
-
-// -----------------------------------------------------------------------------
-// From CActive
-// -----------------------------------------------------------------------------
-//
-void CSymbianUnitTestConsoleUi::RunL()
-    {
-    if (iCommandLineParser->Background()) 
-        {
-        //run in background
-        TRAPD( err, 
-        iTestRunner->ExecuteTestsL( 
-            iCommandLineParser->TestDllNames(),
-            iCommandLineParser->MemoryAllocationFailureSimulation(),
-            iCommandLineParser->OutputFileName(),
-            iCommandLineParser->OutputFormat(),
-            iCommandLineParser->TestCaseNames(),
-            iCommandLineParser->Timeout()) )
-	if ( err != KErrNone)
-	    {
-		    RDebug::Print( KTestRunnerFailedTxt, err );
-	    }
-        }
-    else 
-        {
-        iConsole->Printf( KTitleTxt, SUT_MAJOR_VERSION, SUT_MINOR_VERSION, SUT_BUILD_VERSION);
-        if ( iCommandLineParser->ShowHelp() )
-            {
-            InfoMsg( KHelpTxt );
-            }
-        else
-           {
-            PrintAllocFailureSimulationText();
-            InfoMsg( KExecutingTestsTxt );
-            TRAPD(err,
-                 iTestCount = iTestRunner->TestCountL(
-                         iCommandLineParser->TestDllNames(),
-                         iCommandLineParser->TestCaseNames()));
-            TRAP( err, 
-                iTestRunner->ExecuteTestsL( 
-                    iCommandLineParser->TestDllNames(),
-                    iCommandLineParser->MemoryAllocationFailureSimulation(),
-                    iCommandLineParser->OutputFileName(),
-                    iCommandLineParser->OutputFormat(),
-    	        iCommandLineParser->TestCaseNames(),
-    		iCommandLineParser->Timeout()) )
-            if ( err != KErrNone )
-                {
-                    iConsole->Printf( KTestRunnerFailedTxt, err );
-                }
-            else 
-                {
-                if ( iExecutedTestCount == 0 )
-                    {
-                    InfoMsg( KNoTestsFoundTxt );
-                    }
-                }
-            }
-        if ( iCommandLineParser->PromptUser() )
-            {
-            InfoMsg( KPressAnyKeyTxt );
-            iConsole->Getch(); // get and ignore character        
-            }
-        }
-    CActiveScheduler::Stop();
-    }
-
-// -----------------------------------------------------------------------------
-// From CActive
-// -----------------------------------------------------------------------------
-//
-void CSymbianUnitTestConsoleUi::DoCancel()
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// From MSymbianUnitTestUiCallBack
-// -----------------------------------------------------------------------------
-//
-void CSymbianUnitTestConsoleUi::InfoMsg( const TDesC& aMessage )
-    {
-    iConsole->Printf( aMessage );
-    }
-
-// -----------------------------------------------------------------------------
-// From MSymbianUnitTestUiCallBack
-// -----------------------------------------------------------------------------
-//
-void CSymbianUnitTestConsoleUi::InfoMsg( 
-    const TDesC& aFormat, 
-    const TDesC& aMessage )
-    {
-    iConsole->Printf( aFormat, &aMessage );
-    }
-
-// -----------------------------------------------------------------------------
-// From MSymbianUnitTestUiCallBack
-// -----------------------------------------------------------------------------
-//
-void CSymbianUnitTestConsoleUi::TestPass(const TDesC& /*aTestCaseName*/)
-    {
-    IncrementExecutedTestsCount();
-    }
-
-void CSymbianUnitTestConsoleUi::TestFailed(const TDesC& /*aTestCaseName*/, const TDesC8& /*aErrMsg*/)
-    {
-    IncrementExecutedTestsCount();
-    }
-
-
-void CSymbianUnitTestConsoleUi::IncrementExecutedTestsCount()
-    {
-    if (iCommandLineParser->Background()) 
-        {
-        return;
-        }
-    TPoint pos = iConsole->CursorPos();
-    pos.iY -= 1;
-    if ( iExecutedTestCount > 0 )
-        {
-        pos.iY -= 2;
-        }
-    iConsole->SetCursorPosAbs( pos );
-    
-    iExecutedTestCount++;
-    iConsole->Printf( 
-        KTestsExecutedTxt, iExecutedTestCount, iTestCount);
-    
-    TInt passedTestCount = iExecutedTestCount - iTestRunner->FailedTestCount();
-        iConsole->Printf( KPassedTestsTxt, passedTestCount );
-    
-    TInt count = iTestRunner->FailedTestCount();
-    TBuf<10> txtCount;
-    txtCount.AppendFormat( _L("%d"), count );
-    InfoMsg( KFailedTestsTxt2, txtCount );
-    }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void CSymbianUnitTestConsoleUi::PrintAllocFailureSimulationText()
-    {
-    if ( iCommandLineParser->MemoryAllocationFailureSimulation() )
-        {
-        InfoMsg( KAllocOnTxt );
-        }
-    else
-        {
-        InfoMsg( KAllocOffTxt );
-        }
-    }