diff -r 753e33780645 -r 453d490c84a5 symbianunittestui/qt/testrunner_s60.cpp --- a/symbianunittestui/qt/testrunner_s60.cpp Fri Sep 03 07:53:25 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,257 +0,0 @@ -/* - * Copyright (c) 2010 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: Symbian C++ test runner Class. - * - */ -#include "testrunner_s60.h" -#include "symbianunittestrunner.h" -#include "widgettestrunner.h" -_LIT( KOutputFileName, "SymbianUnitTestResults" ); -_LIT( KDefaultOutputFormat, "html" ); - -TestRunnerPrivate* TestRunnerPrivate::NewLC(WidgetTestRunner* aPublicApi) - { - TestRunnerPrivate* self = new (ELeave) TestRunnerPrivate(aPublicApi); - CleanupStack::PushL(self); - self->ConstructL(); - return self; - } - -TestRunnerPrivate* TestRunnerPrivate::NewL(WidgetTestRunner* aPublicApi) - { - TestRunnerPrivate* self = TestRunnerPrivate::NewLC(aPublicApi); - CleanupStack::Pop(self); - return self; - } - -TestRunnerPrivate::TestRunnerPrivate(WidgetTestRunner* aPublicApi) : - CActive(EPriorityStandard), d_ptr(aPublicApi), iTimeout( - KSymbianUnitTestDefaultTimeout) - { - } - -void TestRunnerPrivate::ConstructL() - { - User::SetJustInTime(EFalse); // Do not stop on test case panics - - iTestDllNames = new (ELeave) CDesCArrayFlat(1); - iTestCaseNames = new (ELeave) CDesCArrayFlat(1); - iOutputFormat = KDefaultOutputFormat().AllocL(); - CActiveScheduler::Add(this); - } - -TestRunnerPrivate::~TestRunnerPrivate() - { - Cancel(); - delete iTestDllNames; - delete iTestCaseNames; - delete iOutputFormat; - } - -// ----------------------------------------------------------------------------- -// From MSymbianUnitTestUiCallBack -// ----------------------------------------------------------------------------- -// -void TestRunnerPrivate::InfoMsg(const TDesC& aMessage) - { - QString msg = QString::fromUtf16(aMessage.Ptr(), aMessage.Length()); - emit d_ptr->infoMsgReceived(msg); - } - -int TestRunnerPrivate::SetTestDllNames(const QStringList& aDllNames) - { - TRAPD(err, SetTestDllNamesL(aDllNames)); - return err; - } - -int TestRunnerPrivate::SetTestCaseNames(const QStringList& aCaseNames) - { - TRAPD(err, SetTestCaseNamesL(aCaseNames)); - return err; - } - -int TestRunnerPrivate::SetOutputFormat(const QString& aFmt) - { - TRAPD(err, SetOutputFormatL(aFmt)); - return err; - } - -int TestRunnerPrivate::ListTestCases(const QString& aDllName, QStringList& aCaseNames) - { - TRAPD(err, ListTestCasesL(aDllName, aCaseNames)); - return err; - } - -// ----------------------------------------------------------------------------- -// From MSymbianUnitTestUiCallBack -// ----------------------------------------------------------------------------- -// -void TestRunnerPrivate::InfoMsg(const TDesC& aFormat, const TDesC& aMessage) - { - // iConsole->Printf( aFormat, &aMessage ); - } - -void TestRunnerPrivate::TestsCount() - { - - } - -void TestRunnerPrivate::TestsExecuted() - { - emit d_ptr->testExecuted(iPassedTestsCount + iFailedTestsCount); - } - -void TestRunnerPrivate::SetTestDllNamesL(const QStringList& aDllNames) - { - if (!aDllNames.isEmpty()) - { - CDesCArray* testDllNames = new (ELeave) CDesCArrayFlat(1); - CleanupStack::PushL(testDllNames); - foreach (QString tmp, aDllNames) - { - TPtrC myDescriptor(static_cast (tmp.utf16()), - tmp.length()); - HBufC* buffer = myDescriptor.AllocL(); - testDllNames->AppendL(buffer->Des()); - } - delete iTestDllNames; - iTestDllNames = testDllNames; - CleanupStack::Pop(testDllNames); - } - } - -void TestRunnerPrivate::SetTestCaseNamesL(const QStringList& aNames) - { - if (!aNames.isEmpty()) - { - CDesCArray* testCaseNames = new (ELeave) CDesCArrayFlat(1); - CleanupStack::PushL(testCaseNames); - foreach (QString tmp, aNames) - { - TPtrC myDescriptor(static_cast (tmp.utf16()), - tmp.length()); - HBufC* buffer = myDescriptor.AllocL(); - testCaseNames->AppendL(buffer->Des()); - } - delete iTestCaseNames; - iTestCaseNames = testCaseNames; - CleanupStack::Pop(testCaseNames); - } - } - -void TestRunnerPrivate::SetAllocFailureSimulation(const TBool aSimulation) - { - iAllocFailureSimulation = aSimulation; - } - -void TestRunnerPrivate::SetTimeout(const TInt aTimeout) - { - iTimeout = aTimeout; - } - -void TestRunnerPrivate::SetOutputFormatL(const QString& aFormat) - { - TPtrC outputFormatPtr(aFormat.utf16()); - HBufC* outputFormat = outputFormatPtr.AllocL(); - delete iOutputFormat; - iOutputFormat = outputFormat; - } - -void TestRunnerPrivate::RunL() - { - iTestRunner = CSymbianUnitTestRunner::NewL(*this); - iPassedTestsCount = 0; - iFailedTestsCount = 0; - TRAPD(err, iTestRunner->ExecuteTestsL(*iTestDllNames, - iAllocFailureSimulation, - KOutputFileName, - *iOutputFormat, - *iTestCaseNames, - iTimeout)); - if (err != KErrNone) - { - emit d_ptr->errorOccurred(err); - } - delete iTestRunner; - iTestRunner = NULL; - } - -// ----------------------------------------------------------------------------- -// From CActive -// ----------------------------------------------------------------------------- -// -void TestRunnerPrivate::DoCancel() - { - } - -void TestRunnerPrivate::RunTests() - { - // Set ready to run immediately - TRequestStatus *status = &iStatus; - User::RequestComplete(status, KErrNone); - if (!IsActive()) - { - SetActive(); - } - } - -void TestRunnerPrivate::ListTestCasesL(const QString& aDllName, - QStringList& aTestCases) - { - iTestRunner = CSymbianUnitTestRunner::NewL(*this); - TPtrC dllName(static_cast (aDllName.utf16()), - aDllName.length()); - CDesCArray* testCaseNames = new (ELeave) CDesCArrayFlat(1); - CleanupStack::PushL(testCaseNames); - iTestRunner->TestCaseNamesL(dllName, *testCaseNames); - for (int i = 0; i < testCaseNames->Count(); ++i) - { - aTestCases << QString::fromUtf16((*testCaseNames)[i].Ptr(), - (*testCaseNames)[i].Length()); - } - CleanupStack::PopAndDestroy(testCaseNames); - delete iTestRunner; - iTestRunner = NULL; - } - -// ----------------------------------------------------------------------------- -// From MSymbianUnitTestUiCallBack -// ----------------------------------------------------------------------------- -// -void TestRunnerPrivate::TestPass(const TDesC& aTestCaseName) - { - QString caseName = QString::fromUtf16(aTestCaseName.Ptr(), - aTestCaseName.Length()); - emit - d_ptr->infoMsgReceived(caseName); - emit - d_ptr->testPassed(++iPassedTestsCount); - TestsExecuted(); - } - -// ----------------------------------------------------------------------------- -// From MSymbianUnitTestUiCallBack -// ----------------------------------------------------------------------------- -// -void TestRunnerPrivate::TestFailed(const TDesC& aTestCaseName, - const TDesC8& aErrMsg) - { - QString caseName = QString::fromUtf16(aTestCaseName.Ptr(), - aTestCaseName.Length()); - QString reason = QString::fromUtf8( - reinterpret_cast (aErrMsg.Ptr()), aErrMsg.Length()); - emit - d_ptr->testFailed(caseName, reason, ++iFailedTestsCount); - TestsExecuted(); - }