--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mmsharing/Conf/bld.inf Fri Sep 17 08:28:43 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* 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: Exports for mmsharing
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+../mmshshared/loc/mus.loc APP_LAYER_LOC_EXPORT_PATH(mus.loc)
+../mmshshared/loc/musoperator.loc APP_LAYER_LOC_EXPORT_PATH(musoperator.loc)
+multimediasharing.confml APP_LAYER_CONFML(multimediasharing.confml)
+multimediasharing_1028238B.crml APP_LAYER_CRML(multimediasharing_1028238B.crml)
+../cenrep/backup_registration.xml /epoc32/data/z/private/1028238D/backup_registration.xml
+
--- a/mmsharing/livecommsui/lcui/tsrc/ut_lcui/src/main.cpp Thu Sep 02 20:23:40 2010 +0300
+++ b/mmsharing/livecommsui/lcui/tsrc/ut_lcui/src/main.cpp Fri Sep 17 08:28:43 2010 +0300
@@ -21,7 +21,7 @@
#include "ut_lcview.h"
#include "ut_lceffecthandler.h"
#include "ut_lcvideowidget.h"
-#include "testresultxmlparser.h"
+#include "testrunner.h"
#include <qapplication.h>
#include <QtTest/QtTest>
#include <stdio.h>
@@ -29,55 +29,40 @@
#include <QFile>
#include <QTextStream>
-#define UT_ARGS( args, file )\
- QStringList args( "ut_lcui");\
- args << "-silent" << "-xml" << "-o" << file
-
int main(int argc, char *argv[])
{
- bool promptOnExit(true);
- for (int i=0; i<argc; i++) {
- if (QString(argv[i]) == "-noprompt")
- promptOnExit = false;
+ printf("Running tests...\n");
+
+ QApplication app(argc, argv);
+ QStringList args = app.arguments();
+ QString combinedOutputFileName;
+ for ( int i = 0; i < args.count(); i++ ){
+ QString arg = args.at(i);
+ if ( arg == QString("-o") && i + 1 < args.count() ){
+ i++;
+ combinedOutputFileName = args.at(i);
+ }
}
- printf("Running tests...\n");
- QApplication app(argc, argv);
- TestResultXmlParser parser;
+
+ TestRunner testRunner("LcUi", combinedOutputFileName);
UT_LcUiViewManager ut_lcViewManager;
- QString resultFileName = "c:/ut_lcui_LcViewManager.xml";
- UT_ARGS( args_lcViewManager, resultFileName );
- QTest::qExec( &ut_lcViewManager, args_lcViewManager );
- parser.parseAndPrintResults(resultFileName);
-
+ testRunner.runTests(ut_lcViewManager);
+
UT_LcUiComponentRepository ut_lcUiComponentRepository;
- resultFileName = "c:/ut_lcui_LcUiComponentRepository.xml";
- UT_ARGS( args_lcUiComponentRepository, resultFileName );
- QTest::qExec( &ut_lcUiComponentRepository, args_lcUiComponentRepository );
- parser.parseAndPrintResults(resultFileName);
+ testRunner.runTests(ut_lcUiComponentRepository);
UT_LcView ut_lcView;
- resultFileName = "c:/ut_lcui_LcView.xml";
- UT_ARGS( args_lcView, resultFileName );
- QTest::qExec( &ut_lcView, args_lcView );
- parser.parseAndPrintResults(resultFileName);
+ testRunner.runTests(ut_lcView);
UT_LcEffectHandler ut_effectHandler;
- resultFileName = "c:/ut_lcui_LcEffectHandler.xml";
- UT_ARGS( args_lcEffectHandler, resultFileName );
- QTest::qExec( &ut_effectHandler, args_lcEffectHandler );
- parser.parseAndPrintResults(resultFileName);
+ testRunner.runTests(ut_effectHandler);
UT_LcVideoWidget ut_videoWidget;
- resultFileName = "c:/ut_lcui_LcVideoWidget.xml";
- UT_ARGS( args_lcVideoWidget, resultFileName );
- QTest::qExec( &ut_videoWidget, args_lcVideoWidget );
- parser.parseAndPrintResults(resultFileName);
+ testRunner.runTests(ut_videoWidget);
- if (promptOnExit) {
- printf("Press any key...\n");
- getchar();
- }
+ testRunner.printResults();
+
return 0;
}
--- a/mmsharing/livecommsui/lcui/tsrc/ut_lcui/ut_lcui.pro Thu Sep 02 20:23:40 2010 +0300
+++ b/mmsharing/livecommsui/lcui/tsrc/ut_lcui/ut_lcui.pro Fri Sep 17 08:28:43 2010 +0300
@@ -72,7 +72,7 @@
SOURCES += src/ut_lcvideowidget.cpp
SOURCES += $$LCUI_DIR/src/lcvideowidget.cpp
SOURCES += $$LCUIENGINE_DIR/src/lcuiengine.cpp
-SOURCES += $$MUS_DIR/tsrc/qtestutils/src/testresultxmlparser.cpp
+SOURCES += $$MUS_DIR/tsrc/qtestutils/src/testrunner.cpp
symbian: {
--- a/mmsharing/livecommsui/lcuiengine/tsrc/ut_lcuieng/src/main.cpp Thu Sep 02 20:23:40 2010 +0300
+++ b/mmsharing/livecommsui/lcuiengine/tsrc/ut_lcuieng/src/main.cpp Fri Sep 17 08:28:43 2010 +0300
@@ -19,7 +19,7 @@
#include <QtTest/QtTest>
#include "ut_lcuiengine.h"
-#include "testresultxmlparser.h"
+#include "testrunner.h"
#if defined(Q_OS_SYMBIAN)
#include "ut_lcactivitymanager.h"
@@ -27,36 +27,31 @@
int main(int argc, char *argv[])
{
- bool promptOnExit(true);
- for (int i=0; i<argc; i++) {
- if (QString(argv[i]) == "-noprompt")
- promptOnExit = false;
+ printf("Running tests...\n");
+
+ QApplication app(argc, argv);
+ QStringList args = app.arguments();
+ QString combinedOutputFileName;
+ for ( int i = 0; i < args.count(); i++ ){
+ QString arg = args.at(i);
+ if ( arg == QString("-o") && i + 1 < args.count() ){
+ i++;
+ combinedOutputFileName = args.at(i);
+ }
}
- printf("Running tests...\n");
- QApplication app(argc, argv);
- TestResultXmlParser parser;
+ TestRunner testRunner("LcEngine", combinedOutputFileName);
UT_LcUiEngine ut_lcUiEngine;
- QString resultFileName = "c:/ut_lcui_lcUiEngine.xml";
- QStringList args_lcUiEngine( "ut_lcuiengine");
- args_lcUiEngine << "-xml" << "-o" << resultFileName;
- QTest::qExec(&ut_lcUiEngine, args_lcUiEngine);
- parser.parseAndPrintResults(resultFileName,true);
+ testRunner.runTests(ut_lcUiEngine);
#if defined(Q_OS_SYMBIAN)
UT_LcActivityManager ut_lcActivityManager;
- resultFileName = "c:/ut_lcui_lcActivityManager.xml";
- QStringList args_lcActivityManager( "ut_lcuiengine");
- args_lcActivityManager << "-xml" << "-o" << resultFileName;
- QTest::qExec(&ut_lcActivityManager, args_lcActivityManager);
- parser.parseAndPrintResults(resultFileName,true);
+ testRunner.runTests(ut_lcActivityManager);
#endif
- if (promptOnExit) {
- printf("Press any key...\n");
- getchar();
- }
+ testRunner.printResults();
+
return 0;
}
--- a/mmsharing/livecommsui/lcuiengine/tsrc/ut_lcuieng/ut_lcuieng.pro Thu Sep 02 20:23:40 2010 +0300
+++ b/mmsharing/livecommsui/lcuiengine/tsrc/ut_lcuieng/ut_lcuieng.pro Fri Sep 17 08:28:43 2010 +0300
@@ -45,7 +45,7 @@
SOURCES += lcstub/src/lcsessionstub.cpp
SOURCES += lcstub/src/lcvideoplayerstub.cpp
SOURCES += lcstub/src/lcenginestub.cpp
-SOURCES += $$MUS_DIR/tsrc/qtestutils/src/testresultxmlparser.cpp
+SOURCES += $$MUS_DIR/tsrc/qtestutils/src/testrunner.cpp
symbian: {
INCLUDEPATH += $$LCUIENGINE_DIR/inc
--- a/mmsharing/mmshapp/tsrc/ut_mmshapp/src/main.cpp Thu Sep 02 20:23:40 2010 +0300
+++ b/mmsharing/mmshapp/tsrc/ut_mmshapp/src/main.cpp Fri Sep 17 08:28:43 2010 +0300
@@ -18,31 +18,30 @@
#include <QtTest/QtTest>
#include "ut_lcapplication.h"
-#include "testresultxmlparser.h"
+#include "testrunner.h"
int main(int argc, char *argv[])
{
- bool promptOnExit(true);
- for (int i=0; i<argc; i++) {
- if (QString(argv[i]) == "-noprompt")
- promptOnExit = false;
+ printf("Running tests...\n");
+
+ QApplication app(argc, argv);
+ QStringList args = app.arguments();
+ QString combinedOutputFileName;
+ for ( int i = 0; i < args.count(); i++ ){
+ QString arg = args.at(i);
+ if ( arg == QString("-o") && i + 1 < args.count() ){
+ i++;
+ combinedOutputFileName = args.at(i);
+ }
}
- printf("Running tests...\n");
- QApplication app(argc, argv);
- TestResultXmlParser parser;
+ TestRunner testRunner("LcApplication", combinedOutputFileName);
UT_LcApplication ut_lcApplication;
- QString resultFileName = "c:/ut_lcapplication.xml";
- QStringList args_lcApplication( "ut_lcapplication");
- args_lcApplication << "-xml" << "-o" << resultFileName;
- QTest::qExec(&ut_lcApplication, args_lcApplication);
- parser.parseAndPrintResults(resultFileName,true);
+ testRunner.runTests(ut_lcApplication);
+
+ testRunner.printResults();
- if (promptOnExit) {
- printf("Press any key...\n");
- getchar();
- }
return 0;
}
--- a/mmsharing/mmshapp/tsrc/ut_mmshapp/ut_mmshapp.pro Thu Sep 02 20:23:40 2010 +0300
+++ b/mmsharing/mmshapp/tsrc/ut_mmshapp/ut_mmshapp.pro Fri Sep 17 08:28:43 2010 +0300
@@ -39,7 +39,7 @@
SOURCES += src/main.cpp
SOURCES += src/ut_lcapplication.cpp
SOURCES += $$MUSAPP_DIR/src/lcapplication.cpp
-SOURCES += $$MUS_DIR/tsrc/qtestutils/src/testresultxmlparser.cpp
+SOURCES += $$MUS_DIR/tsrc/qtestutils/src/testrunner.cpp
symbian: {
--- a/mmsharing/mmshengine/src/musengcamerahandler.cpp Thu Sep 02 20:23:40 2010 +0300
+++ b/mmsharing/mmshengine/src/musengcamerahandler.cpp Fri Sep 17 08:28:43 2010 +0300
@@ -603,7 +603,6 @@
__ASSERT_ALWAYS( iSession != NULL, User::Leave( KErrNotReady ) );
CMceCameraSource* camera = MusEngMceUtils::GetCameraL( *iSession );
- CMceDisplaySink* display = MusEngMceUtils::GetDisplayL( *iSession );
if ( camera->CamerasAvailable() )
{
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/package_definition.xml Fri Sep 17 08:28:43 2010 +0300
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SystemDefinition schema="3.0.0" xmlns:qt="http://www.nokia.com/qt">
+ <package id="mmsharinguis" name="Multimedia Sharing UIs" levels="base plugin if">
+ <collection id="mmsharinguis_plat" name="Multimedia Sharing UIs Platform Interfaces" level="if">
+ <component id="live_comms_plugin_api" name="Multimedia Sharing Settings API" class="api" filter="s60" introduced="^4">
+ <unit bldFile="mmsharinguis_plat/live_comms_plugin_api/group"/>
+ </component>
+ <component id="multimedia_sharing_settings_api" name="Multimedia Sharing Settings API" class="api" filter="s60">
+ <meta rel="Api" href="mmsharinguis_plat/multimedia_sharing_settings_api/multimedia_sharing_settings_api.metaxml"/>
+ <unit bldFile="mmsharinguis_plat/multimedia_sharing_settings_api/group"/>
+ </component>
+ <component id="multimedia_sharing_resource_api" name="Multimedia Sharing Resource API" class="api" filter="s60">
+ <meta rel="Api" href="mmsharinguis_plat/multimedia_sharing_resource_api/multimedia_sharing_resource_api.metaxml"/>
+ <unit bldFile="mmsharinguis_plat/multimedia_sharing_resource_api/group"/>
+ </component>
+ <component id="multimedia_sharing_manager_api" name="Multimedia Sharing Manager API" class="api" filter="s60">
+ <meta rel="Api" href="mmsharinguis_plat/multimedia_sharing_manager_api/multimedia_sharing_manager_api.metaxml"/>
+ <unit bldFile="mmsharinguis_plat/multimedia_sharing_manager_api/group" filter="!test"/>
+ <unit bldFile="mmsharinguis_plat/multimedia_sharing_manager_api/tsrc/group" filter="test,api_test"/>
+ </component>
+ </collection>
+ <collection id="mmsharing" name="Multimedia Sharing" level="base">
+ <component id="mmshavailability" filter="s60" name="Multimedia Sharing Availability">
+ <unit bldFile="mmsharing/mmshavailability/group"/>
+ </component>
+ <component id="mmshindicator" filter="s60" name="Multimedia Sharing Indicator">
+ <!-- <unit bldFile="mmsharing/mmshindicator/group"/> -->
+ </component>
+ <!-- consider putting client and server in the same component -->
+ <component id="mmshmanagercli" filter="s60" name="Multimedia Sharing Manager Client">
+ <unit bldFile="mmsharing/mmshmanagercli/group"/>
+ </component>
+ <component id="mmshmanagersrv" filter="s60" name="Multimedia Sharing Manager Server">
+ <!-- <unit bldFile="mmsharing/mmshmanagersrv/group"/> -->
+ </component>
+ <component id="mmshengine" filter="s60" name="Multimedia Sharing Engine">
+ <unit bldFile="mmsharing/mmshengine/group"/>
+ </component>
+ <component id="livecommsui" filter="s60" name="Live Comms UI" introduced="^4">
+ <unit bldFile="mmsharing/livecommsui" qt:proFile="livecommsui.pro"/>
+ </component>
+ <component id="mmshapp" filter="s60" name="Multimedia Sharing Application" introduced="^4">
+ <!-- can only have one unit: need to #include the bld.inf from the .pro file -->
+ <unit bldFile="mmsharing/mmshapp" qt:proFile="mmshapp.pro"/>
+ <unit bldFile="mmsharing/mmshapp/help/group"/>
+ </component>
+ <component id="mmsharing_conf" filter="s60" name="Multimedia Sharing Config" class="config">
+ <unit bldFile="mmsharing/Conf"/>
+ </component>
+ </collection>
+ <collection id="mmshplugins" name="Multimedia Sharing Plugins" level="plugin">
+ <component id="mmshaoplugin" filter="s60" name="Multimedia Sharing Always Online Plugin" class="plugin">
+ <unit bldFile="mmshplugins/mmshaoplugin/group"/>
+ </component>
+ <component id="mmshaiwplugin" filter="s60" name="Multimedia Sharing AIW Plugin" class="plugin">
+ <unit bldFile="mmshplugins/mmshaiwplugin/group"/>
+ </component>
+ <component id="mmshsipcrplugin" filter="s60" name="Multimedia Sharing SIP Client Resolver Plugin" class="plugin">
+ <unit bldFile="mmshplugins/mmshsipcrplugin/group"/>
+ </component>
+ <component id="mmshsettingsuiplugin" filter="s60" name="Multimedia Sharing Settings UI Plugin" class="plugin">
+ <!-- <unit bldFile="mmshplugins/mmshsettingsuiplugin/group"/> -->
+ </component>
+ <component id="mmshwpadapterplugin" filter="s60" name="Multimedia Sharing WAP Provisioning Adapter" class="plugin">
+ <unit bldFile="mmshplugins/mmshwpadapterplugin/group"/>
+ </component>
+ <component id="mmcctranscoder" filter="s60" name="MCC Transcoder" class="plugin" introduced="^4">
+ <!--<unit bldFile="mmshplugins/mmcctranscoder/group"/> -->
+ </component>
+ </collection>
+ <collection id="mmsharinguis_info" name="Multimedia Sharing UIs Info" level="if">
+ <component id="mmsharinguis_rom" filter="s60" name="Multimedia Sharing UIs ROM">
+ <!-- consider distributing to other components -->
+ <unit bldFile="rom"/>
+ </component>
+ </collection>
+ </package>
+</SystemDefinition>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/package_map.xml Fri Sep 17 08:28:43 2010 +0300
@@ -0,0 +1,1 @@
+<PackageMap root="sf" layer="app"/>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/rom/bld.inf Fri Sep 17 08:28:43 2010 +0300
@@ -0,0 +1,29 @@
+/*
+* 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: Exports for mmsharinguis.
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+multimediasharing.iby CORE_APP_LAYER_IBY_EXPORT_PATH(multimediasharing.iby)
+multimediasharingresources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(multimediasharingresources.iby)
+multimediasharing_stub.SIS /epoc32/data/z/system/install/multimediasharing_stub.SIS
+
\ No newline at end of file
--- a/tsrc/qtestutils/inc/testresultxmlparser.h Thu Sep 02 20:23:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +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:
-*
-*/
-
-#ifndef TESTRESULTXMLPARSER_H
-#define TESTRESULTXMLPARSER_H
-
-#include <QXmlDefaultHandler>
-
-
-class TestResultXmlParser : public QXmlDefaultHandler
-{
-public: // Constructors and destructor
- TestResultXmlParser();
- ~TestResultXmlParser();
-
-public: // From QXmlContentHandler
- bool startElement(
- const QString& namespaceURI,
- const QString& localName,
- const QString& qName,
- const QXmlAttributes& atts);
-
- bool endElement(
- const QString& namespaceURI,
- const QString& localName,
- const QString& qName);
-
- bool characters(const QString& ch);
-
-public: // New functions
-
- int parse(const QString& fileName);
-
- int parseAndPrintResults(
- const QString& fileName,
- bool printDetails=false);
-
- int testCount();
-
- QStringList errors();
-
-private: // Data
- int mTestCount;
- QStringList* mErrors;
- bool mParsingIncidentElement;
- bool mParsingDescriptionElement;
- bool mCurrentTestFailed;
- QString mCurrentTestName;
- QString mCurrentTestFile;
- int mCurrentTestFailureLine;
-};
-
-
-#endif // TESTRESULTXMLPARSER_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tsrc/qtestutils/inc/testrunner.h Fri Sep 17 08:28:43 2010 +0300
@@ -0,0 +1,73 @@
+/*
+* 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:
+*
+*/
+
+#ifndef TESTRUNNER_H
+#define TESTRUNNER_H
+
+#include <QXmlDefaultHandler>
+
+class QXmlStreamWriter;
+class QXmlStreamReader;
+
+class TestRunner : public QXmlDefaultHandler
+{
+public: // Constructors and destructor
+ TestRunner(const QString& name, const QString& combinedOutputFileName = QString() );
+ ~TestRunner();
+
+public: // New functions
+
+ int runTests(QObject& testObject);
+ void printResults();
+
+protected: // From QXmlContentHandler
+ bool startElement(
+ const QString& namespaceURI,
+ const QString& localName,
+ const QString& qName,
+ const QXmlAttributes& atts);
+
+ bool endElement(
+ const QString& namespaceURI,
+ const QString& localName,
+ const QString& qName);
+
+ bool characters(const QString& ch);
+
+private: // New functions
+
+ void parse(const QString& fileName);
+ void combineResults();
+ void appendToXml(QXmlStreamWriter& writer, QXmlStreamReader& reader, QString& caseName);
+
+private: // Data
+ QStringList mTestRunParams;
+ QString mHomeDir;
+ int mTestCount;
+ QStringList mErrors;
+ bool mParsingIncidentElement;
+ bool mParsingDescriptionElement;
+ bool mCurrentTestFailed;
+ QString mCurrentTestName;
+ QString mCurrentTestFile;
+ int mCurrentTestFailureLine;
+ QString mCombinedOutputFileName;
+ QStringList mResultFiles;
+};
+
+
+#endif // TESTRUNNER_H
--- a/tsrc/qtestutils/src/testresultxmlparser.cpp Thu Sep 02 20:23:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,178 +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 "testresultxmlparser.h"
-#include <stdio.h>
-
-const char testFunctionElement[] = "TestFunction";
-const char incidentElement[] = "Incident";
-const char descriptionElement[] = "Description";
-const char nameAttr[] = "name";
-const char typeAttr[] = "type";
-const char fileAttr[] = "file";
-const char lineAttr[] = "line";
-const char attrValueFail[] = "fail";
-
-
-// -----------------------------------------------------------------------------
-// TestResultXmlParser::TestResultXmlParser
-// -----------------------------------------------------------------------------
-//
-TestResultXmlParser::TestResultXmlParser()
-: mTestCount(0),
- mParsingIncidentElement(false),
- mParsingDescriptionElement(false),
- mCurrentTestFailed(false),
- mCurrentTestFailureLine(0)
-{
- mErrors = new QStringList;
-}
-
-// -----------------------------------------------------------------------------
-// TestResultXmlParser::TestResultXmlParser
-// -----------------------------------------------------------------------------
-//
-TestResultXmlParser::~TestResultXmlParser()
-{
- delete mErrors;
-}
-
-// -----------------------------------------------------------------------------
-// TestResultXmlParser::startElement
-// -----------------------------------------------------------------------------
-//
-bool TestResultXmlParser::startElement(
- const QString& /*namespaceURI*/,
- const QString& /*localName*/,
- const QString& qName,
- const QXmlAttributes& atts)
-{
- if (qName == testFunctionElement) {
- mTestCount++;
- mCurrentTestName = atts.value(nameAttr);
- return true;
- }
- if (qName == incidentElement) {
- mParsingIncidentElement = true;
- if (atts.value(typeAttr) == attrValueFail) {
- mCurrentTestFailed = true;
- mCurrentTestFile = atts.value(fileAttr);
- mCurrentTestFailureLine = atts.value(lineAttr).toInt();
- }
- return true;
- }
- mParsingDescriptionElement = (qName == descriptionElement);
- return true;
-}
-
-// -----------------------------------------------------------------------------
-// TestResultXmlParser::endElement
-// -----------------------------------------------------------------------------
-//
-bool TestResultXmlParser::endElement(
- const QString& /*namespaceURI*/,
- const QString& /*localName*/,
- const QString& qName)
-{
- if (qName == incidentElement) {
- mParsingIncidentElement = false;
- mCurrentTestFailed = false;
- return true;
- }
- if (qName == descriptionElement) {
- mParsingDescriptionElement = false;
- }
- return true;
-}
-
-// -----------------------------------------------------------------------------
-// TestResultXmlParser::characters
-// -----------------------------------------------------------------------------
-//
-bool TestResultXmlParser::characters(const QString& ch)
-{
- if (mParsingIncidentElement &&
- mParsingDescriptionElement &&
- mCurrentTestFailed) {
- QString testResult = mCurrentTestName + " failed:\n";
- testResult += "File: ";
- testResult += mCurrentTestFile;
- testResult += "\n";
- testResult += "Line: ";
- testResult += QString::number(mCurrentTestFailureLine);
- testResult += "\n";
- testResult += "Reason: ";
- testResult += ch;
- testResult += "\n";
- mErrors->append(testResult);
- }
- return true;
-}
-
-// -----------------------------------------------------------------------------
-// TestResultXmlParser::parse
-// -----------------------------------------------------------------------------
-//
-int TestResultXmlParser::parse(const QString& fileName)
-{
- QFile file(fileName);
- QXmlInputSource inputSource(&file);
- QXmlSimpleReader reader;
- reader.setContentHandler(this);
- return reader.parse(inputSource);
-}
-
-// -----------------------------------------------------------------------------
-// TestResultXmlParser::parseAndPrintResults
-// -----------------------------------------------------------------------------
-//
-int TestResultXmlParser::parseAndPrintResults(
- const QString& fileName,
- bool printDetails)
-{
- printf("Parsing: %s\n", fileName.toUtf8().data());
- int error = parse(fileName);
- printf("%d tests executed. Failed total: %d\n", mTestCount, mErrors->count());
- if (printDetails) {
- printf("\n");
- foreach(QString error, *mErrors) {
- printf(error.toUtf8().data());
- printf("\n");
- }
- }
- return error;
-}
-
-// -----------------------------------------------------------------------------
-// TestResultXmlParser::testCount
-// -----------------------------------------------------------------------------
-//
-int TestResultXmlParser::testCount()
-{
- return mTestCount;
-}
-
-// -----------------------------------------------------------------------------
-// TestResultXmlParser::errors
-// -----------------------------------------------------------------------------
-//
-QStringList TestResultXmlParser::errors()
-{
- return *mErrors;
-}
-
-// End of File.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tsrc/qtestutils/src/testrunner.cpp Fri Sep 17 08:28:43 2010 +0300
@@ -0,0 +1,217 @@
+/*
+* 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 "testrunner.h"
+#include <QtTest/QtTest>
+#include <QDir>
+#include <stdio.h>
+
+const char testCaseElement[] = "TestCase";
+const char testFunctionElement[] = "TestFunction";
+const char incidentElement[] = "Incident";
+const char descriptionElement[] = "Description";
+const char nameAttr[] = "name";
+const char typeAttr[] = "type";
+const char fileAttr[] = "file";
+const char lineAttr[] = "line";
+const char attrValueFail[] = "fail";
+
+
+TestRunner::TestRunner(const QString& name, const QString& combinedOutputFileName)
+: mTestCount(0),
+ mParsingIncidentElement(false),
+ mParsingDescriptionElement(false),
+ mCurrentTestFailed(false),
+ mCurrentTestFailureLine(0),
+ mCombinedOutputFileName(combinedOutputFileName)
+{
+ mTestRunParams.append(name);
+ mTestRunParams.append("-xml");
+ mTestRunParams.append("-o");
+ mHomeDir = QDir::homePath();
+ mTestRunParams.append(QString()); // Initial result file name
+
+ if (!mHomeDir.endsWith(QString::fromAscii("/")))
+ mHomeDir += QString::fromAscii("/");
+}
+
+TestRunner::~TestRunner()
+{
+}
+
+int TestRunner::runTests(QObject& testObject)
+{
+ QString className(testObject.metaObject()->className());
+ printf("Running tests for %s ... ", className.toUtf8().data());
+ QString resultFileName = mHomeDir + className + ".xml";
+ mTestRunParams.replace(mTestRunParams.count()-1,resultFileName);
+ int errorsBefore = mErrors.count();
+ int error = QTest::qExec(&testObject, mTestRunParams);
+ parse(resultFileName);
+ mResultFiles.append(resultFileName);
+ printf("Failures: %d\n",mErrors.count()-errorsBefore);
+ fflush(stdout);
+ return error;
+}
+
+void TestRunner::printResults()
+{
+ printf("\nTests executed: %d\n",mTestCount);
+ if (mErrors.count() > 0) {
+ printf("Failures (%d):\n", mErrors.count());
+ foreach(QString error, mErrors) {
+ printf("\n%s", error.toUtf8().data());
+ }
+ printf("\n");
+ } else {
+ printf("All passed.\n\n");
+ }
+ fflush(stdout);
+
+ combineResults();
+}
+
+void TestRunner::parse(const QString& fileName)
+{
+ QFile file(fileName);
+ QXmlInputSource inputSource(&file);
+ QXmlSimpleReader reader;
+ reader.setContentHandler(this);
+ reader.parse(inputSource);
+}
+
+bool TestRunner::startElement(
+ const QString& /*namespaceURI*/,
+ const QString& /*localName*/,
+ const QString& qName,
+ const QXmlAttributes& atts)
+{
+ if (qName == QString::fromAscii(testFunctionElement)) {
+ mTestCount++;
+ mCurrentTestName = atts.value(QString::fromAscii(nameAttr));
+ return true;
+ }
+ if (qName == QString::fromAscii(incidentElement)) {
+ mParsingIncidentElement = true;
+ if (atts.value(QString::fromAscii(typeAttr)) == QString::fromAscii(attrValueFail)) {
+ mCurrentTestFailed = true;
+ mCurrentTestFile = atts.value(QString::fromAscii(fileAttr));
+ mCurrentTestFailureLine = atts.value(QString::fromAscii(lineAttr)).toInt();
+ }
+ return true;
+ }
+ mParsingDescriptionElement =
+ (qName == QString::fromAscii(descriptionElement));
+ return true;
+}
+
+bool TestRunner::endElement(
+ const QString& /*namespaceURI*/,
+ const QString& /*localName*/,
+ const QString& qName)
+{
+ if (qName == QString::fromAscii(incidentElement)) {
+ mParsingIncidentElement = false;
+ mCurrentTestFailed = false;
+ return true;
+ }
+ if (qName == QString::fromAscii(descriptionElement)) {
+ mParsingDescriptionElement = false;
+ }
+ return true;
+}
+
+bool TestRunner::characters(const QString& ch)
+{
+ if (mParsingIncidentElement &&
+ mParsingDescriptionElement &&
+ mCurrentTestFailed) {
+ QByteArray testResult = mCurrentTestName.toAscii() + " failed:\n";
+ testResult += "File: ";
+ testResult += mCurrentTestFile.toAscii();
+ testResult += "\n";
+ testResult += "Line: ";
+ testResult += QByteArray::number(mCurrentTestFailureLine);
+ testResult += "\n";
+ testResult += "Reason: ";
+ testResult += ch.toAscii();
+ testResult += "\n";
+ mErrors.append(QString::fromAscii(testResult.data()));
+ }
+ return true;
+}
+
+void TestRunner::combineResults()
+{
+ if ( mCombinedOutputFileName.isEmpty() ){
+ return;
+ }
+ if ( !mCombinedOutputFileName.contains(QString::fromAscii("/")) ){
+ mCombinedOutputFileName.prepend( mHomeDir );
+ }
+ QFile file(mCombinedOutputFileName);
+ if (!file.open(QIODevice::WriteOnly)){
+ return;
+ }
+
+ QXmlStreamWriter writer(&file);
+ writer.setAutoFormatting(true);
+ writer.writeStartDocument();
+ QString caseName;
+ foreach ( QString resultFile, mResultFiles ){
+ QFile readFile( resultFile );
+ if ( resultFile != mCombinedOutputFileName && readFile.open(QIODevice::ReadOnly) ){
+ QXmlStreamReader reader(&readFile);
+ appendToXml(writer, reader, caseName);
+ readFile.close();
+ }
+ }
+ writer.writeEndDocument();
+ file.close();
+}
+
+void TestRunner::appendToXml(QXmlStreamWriter& writer, QXmlStreamReader& reader, QString& caseName)
+{
+ while (!reader.atEnd()) {
+ QXmlStreamReader::TokenType type = reader.readNext();
+ if ( type == QXmlStreamReader::StartDocument ||
+ type == QXmlStreamReader::EndDocument ){
+ // Ignored
+ } else if ( reader.name() == testCaseElement ){
+ if ( type == QXmlStreamReader::StartElement ){
+ QString tempCaseName = reader.attributes().value(nameAttr).toString();
+ if ( caseName.isEmpty() && type == QXmlStreamReader::StartElement){
+ writer.writeStartElement(testCaseElement);
+ writer.writeAttribute(nameAttr, mTestRunParams.at(0));
+ }
+ caseName = tempCaseName;
+ }
+ } else if ( type == QXmlStreamReader::StartElement ) {
+ if ( reader.name() == testFunctionElement ){
+ QString tempFuncName = reader.attributes().value(nameAttr).toString();
+ if ( !tempFuncName.isEmpty() ){
+ writer.writeStartElement(testFunctionElement);
+ writer.writeAttribute(nameAttr, caseName + "::" + tempFuncName);
+ }
+ } else {
+ writer.writeCurrentToken( reader );
+ }
+ } else {
+ writer.writeCurrentToken( reader );
+ }
+ }
+}
--- a/tsrc/unittestrunner/unittest_qt_config.txt Thu Sep 02 20:23:40 2010 +0300
+++ b/tsrc/unittestrunner/unittest_qt_config.txt Fri Sep 17 08:28:43 2010 +0300
@@ -1,3 +1,3 @@
-ut_lcuieng -noprompt,ut_lcui_lcUiEngine.xml,ut_lcui_lcactivitymanager.xml
-ut_lcui -noprompt,ut_lcui_LcViewManager.xml,ut_lcui_LcUiComponentRepository.xml,ut_lcui_LcView.xml,ut_lcui_LcEffectHandler.xml,ut_lcui_LcVideoWidget.xml
-ut_mmshapp -noprompt,ut_lcapplication.xml
\ No newline at end of file
+ut_lcuieng -noprompt -o C:/ut_lcuieng_all.xml,ut_lcuieng_all.xml
+ut_lcui -noprompt -o C:/ut_lcui_all.xml,ut_lcui_all.xml
+ut_mmshapp -noprompt -o C:/ut_lcapplication_all.xml,ut_lcapplication_all.xml