# HG changeset patch # User brendand # Date 1257161012 0 # Node ID d34d2cabd32df56fd63b72cc15a969f7882f970a # Parent 555e9b4085ea8e12d1a1dba1c6b3e5a2054d4ce0 Adding profiles smoke tests diff -r 555e9b4085ea -r d34d2cabd32d common/tools/ats/smoketest/profiles/bmarm/ProfileSmokeTestModuleU.DEF --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/common/tools/ats/smoketest/profiles/bmarm/ProfileSmokeTestModuleU.DEF Mon Nov 02 11:23:32 2009 +0000 @@ -0,0 +1,3 @@ +EXPORTS + LibEntryL__FR13CTestModuleIf @ 1 NONAME R3UNUSED ; LibEntryL(CTestModuleIf &) + diff -r 555e9b4085ea -r d34d2cabd32d common/tools/ats/smoketest/profiles/bwins/ProfileSmokeTestModuleU.DEF --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/common/tools/ats/smoketest/profiles/bwins/ProfileSmokeTestModuleU.DEF Mon Nov 02 11:23:32 2009 +0000 @@ -0,0 +1,3 @@ +EXPORTS + ?LibEntryL@@YAPAVCScriptBase@@AAVCTestModuleIf@@@Z @ 1 NONAME ; class CScriptBase * __cdecl LibEntryL(class CTestModuleIf &) + diff -r 555e9b4085ea -r d34d2cabd32d common/tools/ats/smoketest/profiles/conf/ProfileSmokeTestModule.cfg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/common/tools/ats/smoketest/profiles/conf/ProfileSmokeTestModule.cfg Mon Nov 02 11:23:32 2009 +0000 @@ -0,0 +1,22 @@ +[Test] +title SetProfileSilent +create ProfileSmokeTestModule profile +profile SetProfile Silent +delete profile +[Endtest] + +[Test] +title SetProfileMeeting +create ProfileSmokeTestModule profile +profile SetProfile Meeting +delete profile +[Endtest] + +[Test] +title SetProfileGeneral +create ProfileSmokeTestModule profile +profile SetProfile General +delete profile +[Endtest] + + diff -r 555e9b4085ea -r d34d2cabd32d common/tools/ats/smoketest/profiles/eabi/ProfileSmokeTestModuleU.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/common/tools/ats/smoketest/profiles/eabi/ProfileSmokeTestModuleU.def Mon Nov 02 11:23:32 2009 +0000 @@ -0,0 +1,3 @@ +EXPORTS + _Z9LibEntryLR13CTestModuleIf @ 1 NONAME + diff -r 555e9b4085ea -r d34d2cabd32d common/tools/ats/smoketest/profiles/group/Bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/common/tools/ats/smoketest/profiles/group/Bld.inf Mon Nov 02 11:23:32 2009 +0000 @@ -0,0 +1,33 @@ +/* +* 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 the License "Symbian Foundation License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/sfl-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/ProfileSmokeTestModule.cfg c:/TestFramework/ProfileSmokeTestModule.cfg + +PRJ_TESTMMPFILES + + ProfileSmokeTestModule.mmp + +// End of File diff -r 555e9b4085ea -r d34d2cabd32d common/tools/ats/smoketest/profiles/group/ProfileSmokeTestModule.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/common/tools/ats/smoketest/profiles/group/ProfileSmokeTestModule.mmp Mon Nov 02 11:23:32 2009 +0000 @@ -0,0 +1,78 @@ +/*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 the License "Symbian Foundation License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: MMP file for STIF Test Framework's TestScripter +* testclass test module. +* +*/ + +#include + +TARGET ProfileSmokeTestModule.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 ProfileSmokeTestModule.def + +USERINCLUDE ../inc + +MW_LAYER_SYSTEMINCLUDE + +SOURCEPATH ../src + +SOURCE ProfileSmokeTestModule.cpp +SOURCE ProfileSmokeTestModuleBlocks.cpp + +//RESOURCE resource_file +//RESOURCE resource_file2 + +LIBRARY euser.lib +LIBRARY efsrv.lib +LIBRARY stiftestinterface.lib +LIBRARY stiftestengine.lib +LIBRARY commonengine.lib +LIBRARY profileengine.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 555e9b4085ea -r d34d2cabd32d common/tools/ats/smoketest/profiles/inc/ProfileSmokeTestModule.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/common/tools/ats/smoketest/profiles/inc/ProfileSmokeTestModule.h Mon Nov 02 11:23:32 2009 +0000 @@ -0,0 +1,185 @@ +/* +* 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 the License "Symbian Foundation License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: STIF testclass declaration +* +*/ + +#ifndef PROFILESMOKETESTMODULE_H +#define PROFILESMOKETESTMODULE_H + +// INCLUDES +#include +#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( KProfileSmokeTestModuleLogPath, "\\logs\\testframework\\ProfileSmokeTestModule\\" ); +// Log file +_LIT( KProfileSmokeTestModuleLogFile, "ProfileSmokeTestModule.txt" ); +_LIT( KProfileSmokeTestModuleLogFileWithTitle, "ProfileSmokeTestModule_[%S].txt" ); + +// FUNCTION PROTOTYPES +//?type ?function_name(?arg_list); + +// FORWARD DECLARATIONS +//class ?FORWARD_CLASSNAME; +class CProfileSmokeTestModule; + +// DATA TYPES +//enum ?declaration +//typedef ?declaration +//extern ?data_type; + +// CLASS DECLARATION + +/** +* CProfileSmokeTestModule test class for STIF Test Framework TestScripter. +* ?other_description_lines +* +* @lib ?library +* @since ?Series60_version +*/ +NONSHARABLE_CLASS(CProfileSmokeTestModule) : public CScriptBase + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + static CProfileSmokeTestModule* NewL( CTestModuleIf& aTestModuleIf ); + + /** + * Destructor. + */ + virtual ~CProfileSmokeTestModule(); + + 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. + */ + CProfileSmokeTestModule( 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 SetProfileL( 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 + RFs iFs; + // ?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 // PROFILESMOKETESTMODULE_H + +// End of File diff -r 555e9b4085ea -r d34d2cabd32d common/tools/ats/smoketest/profiles/src/ProfileSmokeTestModule.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/common/tools/ats/smoketest/profiles/src/ProfileSmokeTestModule.cpp Mon Nov 02 11:23:32 2009 +0000 @@ -0,0 +1,204 @@ +/* +* 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 the License "Symbian Foundation License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: This file contains testclass implementation. +* +*/ + +// INCLUDE FILES +#include +#include "ProfileSmokeTestModule.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 =============================== + +// ----------------------------------------------------------------------------- +// CProfileSmokeTestModule::CProfileSmokeTestModule +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +CProfileSmokeTestModule::CProfileSmokeTestModule( + CTestModuleIf& aTestModuleIf ): + CScriptBase( aTestModuleIf ) + { + } + +// ----------------------------------------------------------------------------- +// CProfileSmokeTestModule::ConstructL +// Symbian 2nd phase constructor can leave. +// ----------------------------------------------------------------------------- +// +void CProfileSmokeTestModule::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(KProfileSmokeTestModuleLogFileWithTitle, &title); + } + else + { + logFileName.Copy(KProfileSmokeTestModuleLogFile); + } + + iLog = CStifLogger::NewL( KProfileSmokeTestModuleLogPath, + logFileName, + CStifLogger::ETxt, + CStifLogger::EFile, + EFalse ); + + User::LeaveIfError(iFs.Connect()); + + SendTestClassVersion(); + } + +// ----------------------------------------------------------------------------- +// CProfileSmokeTestModule::NewL +// Two-phased constructor. +// ----------------------------------------------------------------------------- +// +CProfileSmokeTestModule* CProfileSmokeTestModule::NewL( + CTestModuleIf& aTestModuleIf ) + { + CProfileSmokeTestModule* self = new (ELeave) CProfileSmokeTestModule( aTestModuleIf ); + + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop(); + + return self; + + } + +// Destructor +CProfileSmokeTestModule::~CProfileSmokeTestModule() + { + + // Delete resources allocated from test methods + Delete(); + + iFs.Close(); + + // Delete logger + delete iLog; + + } + +//----------------------------------------------------------------------------- +// CProfileSmokeTestModule::SendTestClassVersion +// Method used to send version of test class +//----------------------------------------------------------------------------- +// +void CProfileSmokeTestModule::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("ProfileSmokeTestModule.dll"); + + TBool newVersionOfMethod = ETrue; + TestModuleIf().SendTestModuleVersion(moduleVersion, moduleName, newVersionOfMethod); + TestModuleIf().SetBehavior(CTestModuleIf::ETestLeaksHandles); + } + +// ========================== 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* ) CProfileSmokeTestModule::NewL( aTestModuleIf ); + + } + + +// End of File diff -r 555e9b4085ea -r d34d2cabd32d common/tools/ats/smoketest/profiles/src/ProfileSmokeTestModuleBlocks.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/common/tools/ats/smoketest/profiles/src/ProfileSmokeTestModuleBlocks.cpp Mon Nov 02 11:23:32 2009 +0000 @@ -0,0 +1,181 @@ +/* +* 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 the License "Symbian Foundation License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: This file contains testclass implementation. +* +*/ + +// [INCLUDE FILES] - do not remove +#include +#include +#include +#include +#include +#include +#include +#include "ProfileSmokeTestModule.h" + +// EXTERNAL DATA STRUCTURES +//extern ?external_data; + +// EXTERNAL FUNCTION PROTOTYPES +//extern ?external_function( ?arg_type,?arg_type ); + +// CONSTANTS +//const ?type ?constant_var = ?constant; +_LIT( KProfileSmokeTestModule, "ProfileSmokeTestModule" ); +_LIT( KProfile, "Profile: %S" ); + +_LIT(KGeneral, "General"); +_LIT(KSilent, "Silent"); +_LIT(KMeeting, "Meeting"); + +// 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 =============================== + +// ----------------------------------------------------------------------------- +// CProfileSmokeTestModule::Delete +// Delete here all resources allocated and opened from test methods. +// Called from destructor. +// ----------------------------------------------------------------------------- +// +void CProfileSmokeTestModule::Delete() + { + } + +// ----------------------------------------------------------------------------- +// CProfileSmokeTestModule::RunMethodL +// Run specified method. Contains also table of test mothods and their names. +// ----------------------------------------------------------------------------- +// +TInt CProfileSmokeTestModule::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( "SetProfile", CProfileSmokeTestModule::SetProfileL ), + //ADD NEW ENTRY HERE + // [test cases entries] - Do not remove + }; + + const TInt count = sizeof( KFunctions ) / + sizeof( TStifFunctionInfo ); + + return RunInternalL( KFunctions, count, aItem ); + + } + +// ----------------------------------------------------------------------------- +// CProfileSmokeTestModule::SetProfileL +// Changes the current active profile according to the parameter +// ----------------------------------------------------------------------------- +// +TInt CProfileSmokeTestModule::SetProfileL( CStifItemParser& aItem ) + { + // Print to UI + _LIT( KSetProfile, "In SetProfile" ); + TestModuleIf().Printf( 0, KProfileSmokeTestModule, KSetProfile ); + // Print to log file + iLog->Log( KSetProfile ); + + TPtrC profile; + if ( aItem.GetNextString( profile ) == KErrNone ) + { + MProEngEngine* engine = ProEngFactory::NewEngineLC( iFs ); + + // create the profile engine and set to the correct profile + if ( profile == KSilent) + { + //set to silent + engine->SetActiveProfileL( EProfileSilentId ); + } + else if ( profile == KMeeting ) + { + // set to meeting + engine->SetActiveProfileL( EProfileMeetingId ); + } + else if ( profile == KGeneral ) + { + // set to general + engine->SetActiveProfileL( EProfileGeneralId ); + } + + CleanupStack::PopAndDestroy(); + } + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CProfileSmokeTestModule::?member_function +// ?implementation_description +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +/* +TInt CProfileSmokeTestModule::?member_function( + CItemParser& aItem ) + { + + ?code + + } +*/ + +// ========================== OTHER EXPORTED FUNCTIONS ========================= +// None + +// [End of File] - Do not remove