# HG changeset patch # User Brendan Donegan # Date 1275487305 -3600 # Node ID 5c9ea8d0ce2447af767ce703fc3b4ffe2695ae52 # Parent ee650bbb958e5340f8a24126494d9d07cc33db65 Start the Podcatcher Engine integration test suite diff -r ee650bbb958e -r 5c9ea8d0ce24 engine/tsrc/t_podcatcherengine/conf/T_PodcatcherEngine.cfg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/engine/tsrc/t_podcatcherengine/conf/T_PodcatcherEngine.cfg Wed Jun 02 15:01:45 2010 +0100 @@ -0,0 +1,8 @@ +[Test] +title Example +create T_PodcatcherEngine foobar +foobar Example pa ra me ters +delete foobar +[Endtest] + + diff -r ee650bbb958e -r 5c9ea8d0ce24 engine/tsrc/t_podcatcherengine/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/engine/tsrc/t_podcatcherengine/group/bld.inf Wed Jun 02 15:01:45 2010 +0100 @@ -0,0 +1,31 @@ +/* +* 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: +* +*/ + +PRJ_PLATFORMS +// specify the platforms your component needs to be built for here +// defaults to WINS MARM so you can ignore this if you just build these + + DEFAULT + +PRJ_TESTEXPORTS +// NOTE: If using ARS requirements all export operations should be done under this. +// 'abld test export' +../conf/T_PodcatcherEngine.cfg c:/testframework/podcatcher/t_podcatcherengine.cfg + +PRJ_TESTMMPFILES + + T_PodcatcherEngine.mmp diff -r ee650bbb958e -r 5c9ea8d0ce24 engine/tsrc/t_podcatcherengine/group/t_podcatcherengine.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/engine/tsrc/t_podcatcherengine/group/t_podcatcherengine.mmp Wed Jun 02 15:01:45 2010 +0100 @@ -0,0 +1,76 @@ +/*TYPE TESTCLASS*/ +/* +* 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: MMP file for STIF Test Framework's TestScripter +* testclass test module. +* +*/ + +#include + +SMPSAFE + +TARGET T_PodcatcherEngine.dll +TARGETTYPE dll +UID 0x1000008D 0x101FB3E3 + +CAPABILITY ALL -TCB +/* Remove comments and replace 0x00000000 with correct vendor id */ +// VENDORID 0x00000000 +/* Remove comments and replace 0x00000000 with correct secure id */ +// SECUREID 0x00000000 + +//TARGETPATH ?target_path +DEFFILE T_PodcatcherEngine.def + +USERINCLUDE ../inc + +OS_LAYER_SYSTEMINCLUDE + +SOURCEPATH ../src + +SOURCE T_PodcatcherEngineBlocks.cpp T_PodcatcherEngine.cpp + +//RESOURCE resource_file +//RESOURCE resource_file2 + +LIBRARY euser.lib +LIBRARY stiftestinterface.lib +LIBRARY stiftestengine.lib + +LANG SC + +/* +START WINS +?wins_specific_information +END + +START MARM +?marm_specific_information +END +*/ +// Other possible keywords: + +// DOCUMENT ?file, that is not compiled, but added to MSVC project workspace (i.e. release notes) +/* +START BITMAP ?target +TARGETPATH ?emulated_path_on_target_machine +HEADER +SOURCE ?color_depth ?source_bitmap +END +*/ +// DEFFILE ?filename +// AIF ?filename + +// End of File diff -r ee650bbb958e -r 5c9ea8d0ce24 engine/tsrc/t_podcatcherengine/group/t_podcatcherengine.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/engine/tsrc/t_podcatcherengine/group/t_podcatcherengine.pkg Wed Jun 02 15:01:45 2010 +0100 @@ -0,0 +1,61 @@ +; +; 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: +; +; Installation file for STIF +; + +; Languages +&EN + +; Provide value for uid +#{"STIF"},(0x00000000),1,1,0,TYPE=SA + +; Series60 product id for S60 3.0 +[0x101F7961], 0, 0, 0, {"Series60ProductID"} + +; Localised Vendor name +%{"Nokia"} + +; Unique Vendor name +:"Nokia" + +; Logo +; None + +; Package signature - Optional +; None + +; Start of Package body + +; Condition blocks +; None + +; Options list +; None + +; Install files +"\epoc32\release\armv5\udeb\T_PodcatcherEngine.dll" - "!:\Sys\Bin\T_PodcatcherEngine.dll" +"..\conf\T_PodcatcherEngine.cfg" - "!:\testframework\podcatcher\T_PodcatcherEngine.cfg" + +; Embedded SIS +; None + +; End of Package body + +; PKG dependencies +; None + +; PKG capabilities +; None diff -r ee650bbb958e -r 5c9ea8d0ce24 engine/tsrc/t_podcatcherengine/inc/T_PodcatcherEngine.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/engine/tsrc/t_podcatcherengine/inc/T_PodcatcherEngine.h Wed Jun 02 15:01:45 2010 +0100 @@ -0,0 +1,184 @@ +/* +* 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: STIF testclass declaration +* +*/ + +#ifndef T_PODCATCHERENGINE_H +#define T_PODCATCHERENGINE_H + +// INCLUDES +#include +#include +#include +#include + +// CONSTANTS +//const ?type ?constant_var = ?constant; + +// MACROS +//#define ?macro ?macro_def +#define TEST_CLASS_VERSION_MAJOR 0 +#define TEST_CLASS_VERSION_MINOR 0 +#define TEST_CLASS_VERSION_BUILD 0 + +// Logging path +_LIT( KT_PodcatcherEngineLogPath, "\\logs\\testframework\\T_PodcatcherEngine\\" ); +// Log file +_LIT( KT_PodcatcherEngineLogFile, "T_PodcatcherEngine.txt" ); +_LIT( KT_PodcatcherEngineLogFileWithTitle, "T_PodcatcherEngine_[%S].txt" ); + +// FUNCTION PROTOTYPES +//?type ?function_name(?arg_list); + +// FORWARD DECLARATIONS +//class ?FORWARD_CLASSNAME; +class CT_PodcatcherEngine; + +// DATA TYPES +//enum ?declaration +//typedef ?declaration +//extern ?data_type; + +// CLASS DECLARATION + +/** +* CT_PodcatcherEngine test class for STIF Test Framework TestScripter. +* ?other_description_lines +* +* @lib ?library +* @since ?Series60_version +*/ +NONSHARABLE_CLASS(CT_PodcatcherEngine) : public CScriptBase + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + static CT_PodcatcherEngine* NewL( CTestModuleIf& aTestModuleIf ); + + /** + * Destructor. + */ + virtual ~CT_PodcatcherEngine(); + + public: // New functions + + /** + * ?member_description. + * @since ?Series60_version + * @param ?arg1 ?description + * @return ?description + */ + //?type ?member_function( ?type ?arg1 ); + + public: // Functions from base classes + + /** + * From CScriptBase Runs a script line. + * @since ?Series60_version + * @param aItem Script line containing method name and parameters + * @return Symbian OS error code + */ + virtual TInt RunMethodL( CStifItemParser& aItem ); + + protected: // New functions + + /** + * ?member_description. + * @since ?Series60_version + * @param ?arg1 ?description + * @return ?description + */ + //?type ?member_function( ?type ?arg1 ); + + protected: // Functions from base classes + + /** + * From ?base_class ?member_description + */ + //?type ?member_function(); + + private: + + /** + * C++ default constructor. + */ + CT_PodcatcherEngine( CTestModuleIf& aTestModuleIf ); + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL(); + + // Prohibit copy constructor if not deriving from CBase. + // ?classname( const ?classname& ); + // Prohibit assigment operator if not deriving from CBase. + // ?classname& operator=( const ?classname& ); + + /** + * Frees all resources allocated from test methods. + * @since ?Series60_version + */ + void Delete(); + + /** + * Test methods are listed below. + */ + + /** + * Example test method. + * @since ?Series60_version + * @param aItem Script line containing parameters. + * @return Symbian OS error code. + */ + virtual TInt ExampleL( CStifItemParser& aItem ); + + /** + * Method used to log version of test class + */ + void SendTestClassVersion(); + + //ADD NEW METHOD DEC HERE + //[TestMethods] - Do not remove + + public: // Data + // ?one_line_short_description_of_data + //?data_declaration; + + protected: // Data + // ?one_line_short_description_of_data + //?data_declaration; + + private: // Data + + // ?one_line_short_description_of_data + //?data_declaration; + + // Reserved pointer for future extension + //TAny* iReserved; + + public: // Friend classes + //?friend_class_declaration; + protected: // Friend classes + //?friend_class_declaration; + private: // Friend classes + //?friend_class_declaration; + + }; + +#endif // T_PODCATCHERENGINE_H + +// End of File diff -r ee650bbb958e -r 5c9ea8d0ce24 engine/tsrc/t_podcatcherengine/src/T_PodcatcherEngine.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/engine/tsrc/t_podcatcherengine/src/T_PodcatcherEngine.cpp Wed Jun 02 15:01:45 2010 +0100 @@ -0,0 +1,199 @@ +/* +* 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: This file contains testclass implementation. +* +*/ + +// INCLUDE FILES +#include +#include "T_PodcatcherEngine.h" +#include + +// EXTERNAL DATA STRUCTURES +//extern ?external_data; + +// EXTERNAL FUNCTION PROTOTYPES +//extern ?external_function( ?arg_type,?arg_type ); + +// CONSTANTS +//const ?type ?constant_var = ?constant; + +// MACROS +//#define ?macro ?macro_def + +// LOCAL CONSTANTS AND MACROS +//const ?type ?constant_var = ?constant; +//#define ?macro_name ?macro_def + +// MODULE DATA STRUCTURES +//enum ?declaration +//typedef ?declaration + +// LOCAL FUNCTION PROTOTYPES +//?type ?function_name( ?arg_type, ?arg_type ); + +// FORWARD DECLARATIONS +//class ?FORWARD_CLASSNAME; + +// ============================= LOCAL FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// ?function_name ?description. +// ?description +// Returns: ?value_1: ?description +// ?value_n: ?description_line1 +// ?description_line2 +// ----------------------------------------------------------------------------- +// +/* +?type ?function_name( + ?arg_type arg, // ?description + ?arg_type arg) // ?description + { + + ?code // ?comment + + // ?comment + ?code + } +*/ + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CT_PodcatcherEngine::CT_PodcatcherEngine +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +CT_PodcatcherEngine::CT_PodcatcherEngine( + CTestModuleIf& aTestModuleIf ): + CScriptBase( aTestModuleIf ) + { + } + +// ----------------------------------------------------------------------------- +// CT_PodcatcherEngine::ConstructL +// Symbian 2nd phase constructor can leave. +// ----------------------------------------------------------------------------- +// +void CT_PodcatcherEngine::ConstructL() + { + //Read logger settings to check whether test case name is to be + //appended to log file name. + RSettingServer settingServer; + TInt ret = settingServer.Connect(); + if(ret != KErrNone) + { + User::Leave(ret); + } + // Struct to StifLogger settigs. + TLoggerSettings loggerSettings; + // Parse StifLogger defaults from STIF initialization file. + ret = settingServer.GetLoggerSettings(loggerSettings); + if(ret != KErrNone) + { + User::Leave(ret); + } + // Close Setting server session + settingServer.Close(); + + TFileName logFileName; + + if(loggerSettings.iAddTestCaseTitle) + { + TName title; + TestModuleIf().GetTestCaseTitleL(title); + logFileName.Format(KT_PodcatcherEngineLogFileWithTitle, &title); + } + else + { + logFileName.Copy(KT_PodcatcherEngineLogFile); + } + + iLog = CStifLogger::NewL( KT_PodcatcherEngineLogPath, + logFileName, + CStifLogger::ETxt, + CStifLogger::EFile, + EFalse ); + + SendTestClassVersion(); + } + +// ----------------------------------------------------------------------------- +// CT_PodcatcherEngine::NewL +// Two-phased constructor. +// ----------------------------------------------------------------------------- +// +CT_PodcatcherEngine* CT_PodcatcherEngine::NewL( + CTestModuleIf& aTestModuleIf ) + { + CT_PodcatcherEngine* self = new (ELeave) CT_PodcatcherEngine( aTestModuleIf ); + + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop(); + + return self; + + } + +// Destructor +CT_PodcatcherEngine::~CT_PodcatcherEngine() + { + + // Delete resources allocated from test methods + Delete(); + + // Delete logger + delete iLog; + + } + +//----------------------------------------------------------------------------- +// CT_PodcatcherEngine::SendTestClassVersion +// Method used to send version of test class +//----------------------------------------------------------------------------- +// +void CT_PodcatcherEngine::SendTestClassVersion() + { + TVersion moduleVersion; + moduleVersion.iMajor = TEST_CLASS_VERSION_MAJOR; + moduleVersion.iMinor = TEST_CLASS_VERSION_MINOR; + moduleVersion.iBuild = TEST_CLASS_VERSION_BUILD; + + TFileName moduleName; + moduleName = _L("T_PodcatcherEngine.dll"); + + TBool newVersionOfMethod = ETrue; + TestModuleIf().SendTestModuleVersion(moduleVersion, moduleName, newVersionOfMethod); + } + +// ========================== OTHER EXPORTED FUNCTIONS ========================= + +// ----------------------------------------------------------------------------- +// LibEntryL is a polymorphic Dll entry point. +// Returns: CScriptBase: New CScriptBase derived object +// ----------------------------------------------------------------------------- +// +EXPORT_C CScriptBase* LibEntryL( + CTestModuleIf& aTestModuleIf ) // Backpointer to STIF Test Framework + { + + return ( CScriptBase* ) CT_PodcatcherEngine::NewL( aTestModuleIf ); + + } + + +// End of File diff -r ee650bbb958e -r 5c9ea8d0ce24 engine/tsrc/t_podcatcherengine/src/T_PodcatcherEngineBlocks.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/engine/tsrc/t_podcatcherengine/src/T_PodcatcherEngineBlocks.cpp Wed Jun 02 15:01:45 2010 +0100 @@ -0,0 +1,161 @@ +/* +* 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: This file contains testclass implementation. +* +*/ + +// [INCLUDE FILES] - do not remove +#include +#include +#include +#include "T_PodcatcherEngine.h" + +// EXTERNAL DATA STRUCTURES +//extern ?external_data; + +// EXTERNAL FUNCTION PROTOTYPES +//extern ?external_function( ?arg_type,?arg_type ); + +// CONSTANTS +//const ?type ?constant_var = ?constant; + +// MACROS +//#define ?macro ?macro_def + +// LOCAL CONSTANTS AND MACROS +//const ?type ?constant_var = ?constant; +//#define ?macro_name ?macro_def + +// MODULE DATA STRUCTURES +//enum ?declaration +//typedef ?declaration + +// LOCAL FUNCTION PROTOTYPES +//?type ?function_name( ?arg_type, ?arg_type ); + +// FORWARD DECLARATIONS +//class ?FORWARD_CLASSNAME; + +// ============================= LOCAL FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// ?function_name ?description. +// ?description +// Returns: ?value_1: ?description +// ?value_n: ?description_line1 +// ?description_line2 +// ----------------------------------------------------------------------------- +// +/* +?type ?function_name( + ?arg_type arg, // ?description + ?arg_type arg) // ?description + { + + ?code // ?comment + + // ?comment + ?code + } +*/ + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CT_PodcatcherEngine::Delete +// Delete here all resources allocated and opened from test methods. +// Called from destructor. +// ----------------------------------------------------------------------------- +// +void CT_PodcatcherEngine::Delete() + { + + } + +// ----------------------------------------------------------------------------- +// CT_PodcatcherEngine::RunMethodL +// Run specified method. Contains also table of test mothods and their names. +// ----------------------------------------------------------------------------- +// +TInt CT_PodcatcherEngine::RunMethodL( + CStifItemParser& aItem ) + { + + static TStifFunctionInfo const KFunctions[] = + { + // Copy this line for every implemented function. + // First string is the function name used in TestScripter script file. + // Second is the actual implementation member function. + ENTRY( "AddFeed", CT_PodcatcherEngine::AddFeedL ), + //ADD NEW ENTRY HERE + // [test cases entries] - Do not remove + + }; + + const TInt count = sizeof( KFunctions ) / + sizeof( TStifFunctionInfo ); + + return RunInternalL( KFunctions, count, aItem ); + + } + +// ----------------------------------------------------------------------------- +// CT_PodcatcherEngine::AddFeedL +// Test function which adds a feed to the list of feeds maintained by the Podcatcher. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +TInt CT_PodcatcherEngine::AddFeedL( CStifItemParser& aItem ) + { + // Print to UI + _LIT( KT_PodcatcherEngine, "T_PodcatcherEngine" ); + _LIT( KAddFeed, "In AddFeed" ); + TestModuleIf().Printf( 0, KT_PodcatcherEngine, KAddFeed ); + // Print to log file + iLog->Log( KAddFeed ); + + TInt i = 0; + TPtrC string; + _LIT( KParam, "Param[%i]: %S" ); + while ( aItem.GetNextString ( string ) == KErrNone ) + { + TestModuleIf().Printf( i, KT_PodcatcherEngine, + KParam, i, &string ); + i++; + } + + return KErrNone; + + } + +// ----------------------------------------------------------------------------- +// CT_PodcatcherEngine::?member_function +// ?implementation_description +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +/* +TInt CT_PodcatcherEngine::?member_function( + CItemParser& aItem ) + { + + ?code + + } +*/ + +// ========================== OTHER EXPORTED FUNCTIONS ========================= +// None + +// [End of File] - Do not remove diff -r ee650bbb958e -r 5c9ea8d0ce24 tsrc/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tsrc/bld.inf Wed Jun 02 15:01:45 2010 +0100 @@ -0,0 +1,1 @@ +#include "..\engine\tsrc\t_podcatcherengine\group\bld.inf" \ No newline at end of file